Qt SDK 4.8 статическая сборка проекта

в 14:49, , рубрики: qt, Qt Software, qt4, линковка, сборка проекта, метки: , , ,

Вступление:

В данном уроке я расскажу в картинках как собрать приложение статически/провести статическую линковку/ отучить ваш *.exe от библиотек Qt — кажется это всё одно и тоже по своей сути

Лично я всё проделывай со свеженькой на данный момент Qt SDK с сайта Nokia( Qt 4.8 и SDK 1.2.1)
Сам я полный нуб в Windows, так как всё жизнь сижу на Linux, так что всё сопровождается картинками, для таких же нубов в винде, как я сам

Шаг 1.

Насколько я сам разобрался для нормальной сборки нам в системе понадобится Perl

Я его брал отсюда
image

Я выбрал версию ActiveState и понятия не имею чем она отличается от Strawberry, но с ним всё работало

image
image

Затем, насколько я понял, в винде творится жуткий беспорядок с тем, где хранятся либы и нужно вписывать вручную какие-то переменные, короче галочка на скрине должна от всего этого маразма избавить, так что советую её оставить

image
Ура, у нас есть Perl!

Шаг 2.

Теперь можно приступать к сборке Qt из исходников.

Первым делом я предлагаю скачать исходники
я взял эти , возможно и посвежей подойдут, но я рисковать не стал
теперь нужно распаковать это дело в X:QtSDKQtSources4.7.4
папок QtSources4.7.4 у вас не будет, их нужно создать

image

теперь нам нужно открыть вашим любимым блокнотом файлик
X:QtSDKQtSources4.7.4mkspecswin32-g++qmake.conf

найти строку, содержащую текст: QMAKE_LFLAGS
и привести её к такому вот виду:
QMAKE_LFLAGS = -static -static-libgcc -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc
и сохранить файл.
image

Теперь нам нужно открыть пропатченный терминал(да простят меня виндузятники, если эта штука не так называется), который можно найти у себя, взглянув на мой скриншот
image

Теперь в этом терминале нам нужно перейти в каталог
X:QtSDKQtSources4.7.4

и забить команду
configure -static -debug-and-release -no-exceptions -openssl-linked -nomake demos -nomake examples
image

затем вам предстоит прочесть всё, что вам предложат прочесть и правильно ответить на вопросы

дождавшись выполнения команды(конца конфигурирования) и появления приглашения строки ввода, забиваем теперь команду(собираем библиотеку)
mingw32-make sub-src

после окончания терминал можно закрыть и проделать следующее
image

image

после того, как нажмёте «Собрать всё» может вывалится вот такая вот с первого взгляда непонятная штука, её я предлагаю просто закрыть и забыть о ней
image

Всё почти готово, осталось открыть свой проект и сделать несколько кликов, как на скринах
image
image

Всем спасибо за внимание, надеюсь у вас всё получилось.

Надеюсь данный урок послужит макетом для более тонкой сборки и настройки вашего окружения Qt.

Автор: Zeka13

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js