Pull to refresh

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

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

Вступление:

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


Шаг 1.

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

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

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

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

Шаг 2.

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

Первым делом я предлагаю скачать исходники
я взял эти , возможно и посвежей подойдут, но я рисковать не стал
теперь нужно распаковать это дело в X:\QtSDK\QtSources\4.7.4\
папок QtSources\4.7.4\ у вас не будет, их нужно создать

image

теперь нам нужно открыть вашим любимым блокнотом файлик
X:\QtSDK\QtSources\4.7.4\mkspecs\win32-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:\QtSDK\QtSources\4.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.
Tags:
Hubs:
+3
Comments 12
Comments Comments 12

Articles