Потребовалось мне тут, что бы Qt приложение было в одном exe. Для этого придётся перекомпилировать Qt.
Качаем: Git
Качаем: Perl, версию 32х битную.
Качаем: Python 2 (У меня 2.7).
Качаем: MinGW, y меня 730 (для распаковки нужен 7Zip, запускать «C:\Programm Files (x86)\7-Zip\7zFM.exe»).
Открываем консольку (Win+R, вводим cmd), прописываем необходимые системные переменные (пути замените на свои):
set PATH=C:\MinGW\mingw730_32\bin\;%PATH%
set PATH=C:\Strawberry\perl\bin\;%PATH%
Переходим в папку, в которой будем развлекаться, качаем исходники Qt:
cd C:/QtStatic
git clone https://github.com/qt/qt5
cd qt5
perl init-repository
Конфигурируем:
configure -opensource -confirm-license -platform win32-g++ -static -release -opengl desktop -qt-zlib -qt-libpng -qt-libjpeg -nomake examples
[tip]В конфиге не включён SSL, кому нужно:Качаем и ставим Win32OpenSSLLite
-openssl -I «c:\Qt\3dparty\openssl-1.0.2m\include» -L «c:\Qt\3dparty\openssl-1.0.2m»
[/tip] [tip] Если вдруг нужно переконфигурировать и пересобрать, то нужно сначала очистить результаты предыдущих потуг:
git submodule foreach --recursive "git clean -dfx" git clean -dfx[/tip]
Собираем (Часа 4) и ставим:
mingw32-make -j4
mingw32-make install
После установки настраиваем QtCreator для использования новой версии фреймворка:
В верхней менюшке Инструменты -> Параметры -> Сборка и запуск
Компиляторы -> Добавить
MinGW -> C++
Название: Qt 5.12 Static MinGW
Путь: C:\MinGW\mingw730_32\bin\c++.exe
Отладчики -> Добавить
Название: Qt 5.12 Static DBG
Путь: C:\MinGW\mingw730_32\bin\gdb.exe
Профили Qt -> Добавить
Название: Qt 5.12 Static
Путь: C:\QtStatic\qt5\qtbase\bin\qmake.exe
Комплекты -> Добавить
Название: Qt 5.12 Static
Тип устройства: Desktop
Компилятор C++: Qt 5.12 Static MinGW
Отладчик: Qt 5.12 Static DBG
Профиль Qt: Qt 5.12 Static
Нажимаем «Применить».
Можно попробовать сделать простенький проект. В параметрах сборки и запуска поставьте «Release» т.к. мы только эту версию собрали. Так же в «*.pro» файл необходимо добавить указание на статическую сборку и линковку libGCC.
QMAKE_LFLAGS += -static -static-libgcc
Ну вот, как-то так =)
19 комментариев