Сборка Qt

Qt довольно тяжелая библиотека, и тянуть все зависимости в готовом приложении довольно неприятно. Но можно приложения собирать статически, т.е. все дополнительные библиотеки и dll засунуть внутрь одного exe-файла. Это сильно увеличит объем собранного приложения, но избавит пользователя от надобности доустанавливать какие-либо библиотеки.

И так чтобы собрать Qt статически необходимо:

  1. Установить в PATH путь к mingw, например:

    D:\Progs\Qt\qtcreator\mingw\bin\

  2. Скачать исходный текст библиотеки
  3. http://get.qtsoftware.com/qt/source/qt-win-opensource-src-4.5.2.zip

  4. Добавить (чтобы убрать зависимость от mingwm10.dll) в файле

    \mkspecs\win32-g++\qmake.conf

    в строчку

    QMAKE_LFLAGS = -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc

    ключ

    -static

  5. Выполнить

    configure -confirm-license -opensource -static -platform win32-g++ -release -no-exceptions -no-qt3support -qt-libpng -qt-libjpeg

  6. Выполнить

    mingw32-make sub-src

Если уже собирали Qt с какими-то ключиками, а теперь хотите собрать с другими, то сначала надо сделать make confclean а потом вcё по новой: configure с нужными ключами, make.

Для моего последнего приложения, использовавшего сетевые возможности и протокол https ключи были такие:

configure -confirm-license -opensource -static -platform win32-g++ -release -no-exceptions -openssl -I C:\OpenSSL\include -L C:\OpenSSL\lib -no-qt3support

Процедура сборки очень ресурсоемкая и проводить его лучше на мощном, двухядерном процессоре.