Статическая компоновка программ с использованием библиотеки QT позволяет упростить их дальнейшее использование, поскольку программы могут быть скопированы на компьютер, где QT не установлена и запущены как обычные программы.
По адресу http://qt-project.org/downloads расположены ссылки на скачивание. Скачать можно небольшой online-установщик, который затем установит всё что нужно. Самое главное - это выбрать раздел Source для QT, чтобы скачались исходные файлы библиотеки.
Пример файлового дерева после распаковки:
C:\QT5
5.2.1\
mingw48_32\
bin\
doc\
examples\
imports\
include\
lib\
mkspecs\
win32-g++\
qmake.conf
...
Src\
qtbase\
bin\
mkspecs\
win32-g++\
qmake.conf
...
...
Licenses\
temp\
Tools\
vcredist\
components.xml
...
Открываем для редактирования два файла qmake.conf (они видны на рисунке) и находим строку с QMAKE_LFLAGS, затем меняем её на:
QMAKE_LFLAGS += -static
В корневом каталоге c:5 создаём командный файл qt-static.bat слудующего содержания:
set qtdir=c:\qt5\5.2.1
SET PATH=C:\Qt5\Tools\mingw48_32\bin; C:\Qt5\5.2.1\Src\qtbase;%PATH%
cd C:\Qt5\5.2.1\Src\qtbase
configure -static -release -opengl desktop -opensource
mingw32-make
mingw32-make sub-src
Насчёт необходимости последней команды не уверен, но пусть она на всякий случай будет!
Открываем консоль cmd в режиме Администратора.
Запускаем qt-static.bat и ждём некоторое время (может доходить до нескольких часов). К сожалению, процесс компиляции может прерваться из-за ошибки и в этом случае нужно внимательно пересмотреть параметры конфигурации (configure)
Если компиляция завершилась без ошибок, то можно переходить ко второму этапу.
По адресу http://qt-project.org/downloads#qt-creator можно скачать исходники среды разработки. Поместим их в c:5, а также создадим каталог для размещения построенной статической версии
C:\QT5
...
qt-creator-opensource-src-3.10\ <- дерево исходных кодов
qt-creator-build\ <- место для размещения qt-creator
...
Создаём и помещаем в c:5-creator-buld командный файл qt-creator-static.bat следующего содержания:
set QTDIR=C:\Qt5\qt-creator-opensource-src-3.1.0
set PATH=C:\Qt5\qt-creator-opensource-src-3.1.0\bin;C:\Qt5\qt-creator-opensource-src-3.1.0\lib;C:\qt5\tools \MinGW48_32\bin;%SystemRoot%\System32
set QMAKESPEC=win32-g++
C:\Qt5\5.2.1\mingw48_32\bin\qmake.exe C:\Qt5\qt-creator-opensource-src-3.1.0\qtcreator.pro -spec win32-g++ -r CONFIG+=release
mingw32-make release
Запускаем процесс компиляции, который длится меньше чем предыдущий :-)
Для запуска нового qt-creator лучше использовать ещё один командный файл:
set PATH=%PATH%;C:\Qt5\5.2.1\mingw48_32\bin;C:\Qt5\5.2.1\mingw48_32\lib;C:\qt5\tools\MinGW48_32\bin;
C:\Qt5\qt-creator-build\bin\qtcreator.exe
Необходимо в qt-creator создать новый профиль и связать его с файлом
c:\qt5\5.2.1\Src\bin\qmake
Во все создаваемые проекты (.pro) необходимо добавить строку
CONFIG = release
После построения исполняемого файла он должен иметь размер в несколько мегабайт или даже больше (я получил 13-15 МБт), но зато он может быть запущен на компьютере, где QT не установлена.
Ссылки: