Статическая линковка библиотек Qt 5.x (MinGW) под Windows

В данной статье я опишу как сделать отдельный комплект со статической линковкой библиотек Qt5. Если другими словами, мы сможем собирать проект в один исполняемый файл без Qt *.dll.

Подготовка

Нам понадобится непосредственно сам Qt, с официального сайта Qt 5.x.x for Windows 32-bit (MinGW).
Во время установки поставьте галочку на «Source Components», т.к. исходники будут нам необходимы для сборки.
В своем примере я буду использовать Qt 5.7.0 for Windows 32-bit (MinGW 5.3.0).

Начнем

Сборка комплекта
Создаем резервную копию qmake.conf, он находится в «Qt5.7.0\5.7\mingw530_32\mkspecs\win32-g++»
Делаем изменения в qmake.conf

Создаем резервную копию исходников Qt, они находятся в «Qt5.7.0\5.7\Src»
Теперь запускаем терминал Qt — Qt 5.7 for Desktop (MinGW 5.3.0 32 bit), он находится
в «Все программы -> Qt5.7.0 -> 5.7 -> MinGW 5.3.0 (32-bit)» или же полным путем “%appdata%\Microsoft\Windows\Start Menu\Programs\Qt 5.7.0\5.7\MinGW 5.3.0 (32-bit)”
Переходим в директорию с исходниками Qt, вводим команду

Конфигурируем этап установки, вводя команду, где путь после -prefix, местоположение комплекта сборки

По завершению конфигурирования, начинаем компиляцию исходников Qt, командой

После компиляции, будет несколько ошибок, связанных с либой QXml. Не обращаем на них внимание, они никак не скажутся на нашей сборке. Ошибка возникает из за python-a, которого нет в системе. Чтобы ошибка не раздражала глаз – просто установите его и запустите сборку заново. НЕ забудьте перезапустить консоль Qt.
Копируем файлы в указанный нами каталог на этапе конфигурирования, командой

После копирования, так же будет несколько ошибок, не обращаем на них внимание.Не видел.
Теперь восстанавливаем резервные копии исходников Qt и qmake.conf

Добавляем статичный комплект в Qt Creator
Запускаем Qt Creator
Открываем «Инструменты -> Параметры..»
Далее переходим «Сборка и запуск -> Qt Versions»
Жмем добавить и выбираем qmake.exe, точнее «С:\Qt\Qt5.7.0_Static\bin\qmake.exe»
Переходим во вкладку «Комплекты»
Жмем добавить
Пишем название нашего комплекта «Qt 5.7.0 Static MinGW 32», в профиле Qt указываем наш статичный профиль, который добавили в Qt Versions, так же указываем версию нашего компилятора и отладчика(MinGW)
Все, мы добавили статичный комплект в Qt Creator

Примечание: в статический комплект не будут включены библиотеки gcc, что бы они так же собирались в исполняемый файл, надо прописать в .pro/.pri

Руководствовался информацией с англ. инструкции
Взято тут.

No Comments - Leave a comment

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

*

2 × пять =

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.


Перейти к верхней панели