Previous Entry Share Next Entry
Сборка Qt под Windows
and_cesbo
  Возникла необходимость собрать программу, написанную с использованием Qt под Windows, статически. Чтобы не таскать все DLL-ки на компы без Qt. Также размер программы должен быть как можно меньше.
  Первым делом выкачал с qt.nokia.com архив с исходным кодом библиотек Qt: qt-everywhere-opensource-src-X.X.X.zip (затем необходимо куда-нибудь распаковать).
  Собирать это всё буду используя MSVC 2008 Express (скачан с сайта MicroSoft, распространяется бесплатно).
Чтобы не было зависимости от рантайм библиотеки MSVC, необходимо отредактировать файл спецификации сборки (mkspec). Переходим в каталог с распакованным qt, там в каталог mkspecs\win32-msvc2008. Открываем блокнотом qmake.conf. В параметре CONFIG (почти самое начало файла), в конце строки, удаляем всё связанное с манифестом. Затем в параметрах QMAKE_CFLAGS_RELEASE и QMAKE_CFLAGS_DEBUG заменяем -MD на -MT. (информацию можно найти в гугле).
После этого необходимо запустить конфигуратор сборки (запускается из консоли MSVC, все в одной строке должно быть).
configure.exe -release -opensource -static -qt-sql-sqlite -no-qt3support
-no-gif -no-libmng -no-libtiff -no-phonon -no-phonon-backend -no-multimedia
-no-webkit -no-style-windowsxp -no-style-plastique -no-style-motif
-no-style-cde -no-s60 -nomake examples -nomake demos
nmake
  Включаем сборку только release версии. Отключаем все ненужное, особенно ненужные стили. Также не будем собирать экзамплы и демонстрационные программы.
  После сборки указываем в QtCreator-e путь к свежесобранным библиотекам. Собираем проект с пустой формой, на выходе получается 4.5Мб. Экзешник хорошо ужимается UPX-ом (upx.sourceforge.net) после сжатия получается 1.5Мб.
  Для проверки зависимостей можно использовать программу Dependency Walker (dependencywalker.com)

?

Log in

No account? Create an account