Статическая линковка - Victor-Y-Fadeev/qreal GitHub Wiki

Загрузка исходников

  • Открыть Сервисный режим Qt (MaintenanceTool.exe)
  • Выбрать Добавление или удаление компонентов
  • Выбрать вашу версию Qt и поставить галочку напротив Sources
  • Применить изменения

Maintenance Tool

Установка и настройка

Скачать статический комплект Static.zip и распаковать его в папку установки Qt, обычно C:/Qt/.

Добавить статический профиль:

  • Запустить Qt Creator
  • Открыть Инструменты -> Параметры...
  • В пункте Сборка и запуск выбрать Профили Qt
  • Нажать Добавить... и выбрать C:/Qt/Static/bin/qmake.exe
  • Ввести название профиля Qt Static MinGW 32bit

Qt Versions

Добавить статический комплект:

  • Перейти во вкладку Комплекты
  • Выбрать Desktop Qt 5.9.1 MinGW 32bit и нажать Копировать
  • В пункте Профиль Qt выбрать Qt Static MinGW 32bit
  • Переименовать новый комплект в Desktop Qt Static MinGW 32bit

Kits

Настройка проекта

  • Открыть креатором ./qrealRobots.pro
  • Выбрать Desktop Qt Static MinGW 32bit и нажать Настроить проект
  • Перейти в закладку Projects
  • Выбрать debug-конфигурацию сборки
  • В пункте Основное снять флаг Теневая сборка
  • В пункте Этапы сборки в графе qmake записать в Дополнительные параметры "QMAKE_LFLAGS += -static -static-libgcc"
  • В пункте Этапы сборки в графе Сборка записать в Параметры make -jn, где n = <числу ядер CPU плюс один>
  • В пункте Среда сборки поставить флаг Чистая системная среда, там же добавить в переменную PATH путь до xcopy (обычно это C:/Windows/System32)
  • Начать сборку

Static Settings

Самостоятельная сборка Qt

  • Создать резервную копию C:/Qt/5.9.1/mingw53_32/mkspecs/win32-g++/qmake.conf и C:/Qt/5.9.1/Src
  • Скачать или добавить в qmake.conf
DEFINES += QT_STATIC_BUILD
QMAKE_LFLAGS += -static-libgcc -static -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc
  • Запустить Qt 5.9.1 for Desktop (MinGW 5.3.0 32 bit) терминал
  • Сконфигурировать этап установки, введя команду, где путь после -prefix, местоположение комплекта сборки
$ configure -static -platform win32-g++ -prefix "C:\Qt\Static" -debug-and-release -opensource -confirm-license -nomake examples -nomake tests -nomake tools -opengl desktop -no-angle -sql-sqlite -make libs -qt-zlib -qt-pcre -qt-libpng -qt-libjpeg -qt-freetype
  • Начать компиляцию исходников Qt, командой
$ mingw32-make
  • Скопировать файлы в указанный нами каталог, командой
$ mingw32-make install
  • Скопировать C:/Qt/5.9.1/mingw53_32/bin/qmlscene.exe в C:/Qt/Static/bin
  • Восстановить резервные копии исходников Qt и qmake.conf