Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt Общие вопросы _ Статическая сборка Qt5.9.1 в Win8. -shared или -static ?

Автор: flammmable 26.7.2017, 9:55

Добрый день!
Пытаюсь сделать статическую сборку Qt5.9.1

Использую вот эту инструкцию:
http://wohlsoft.ru/pgewiki/Building_static_Qt_5

В разделе инструкции, посвященном сборке под Windows есть два варианта батника:
1) Для 5.8 и выше
2) Для 5.7

Во варианте для 5.8 строка конфигурации начинается с "configure.bat -shared"
configure.bat -shared -release -platform win32-g++ -prefix %QtStaticDir% -opensource -confirm-license -c++std c++14 -nomake examples -skip wayland -skip purchasing -skip serialbus -skip qtserialport -skip script -skip scxml -skip speech -skip location -no-opengl -qt-zlib -qt-pcre -qt-libpng -no-libjpeg -qt-freetype -no-openssl

Во варианте для 5.7 строка конфигурации начинается с "configure.bat -static"
configure.bat -static -release -platform win32-g++ -prefix %QtStaticDir% -qt-zlib -qt-pcre -qt-libpng -qt-libjpeg -qt-freetype -opengl desktop -qt-sql-sqlite -no-openssl -opensource -confirm-license -make libs -nomake tools -nomake examples -nomake tests

Я попробовал
1. Сконфигурировать (configure.bat)
2. Собрать (mingw32-make)
3. Установить (mingw32-make install)

...Qt опираясь на строку конфигурации из варианта для "5.8 и выше"

Там меня ждала засада, т.к. предлагаемый скрипт при наличие ошибок на стадии сборки не производит установку. Но посоны с раена
http://dimitris.apeiro.gr/2015/06/24/build-a-static-qt5-for-windows-by-compiling/
присоветовали не обращать внимания на ошибки и продолжить установку.

Вот только если я использую строку
configure.bat -shared -release -platform win32-g++ -prefix %QtStaticDir% -opensource -confirm-license -c++std c++14 -nomake examples -skip wayland -skip purchasing -skip serialbus -skip qtserialport -skip script -skip scxml -skip speech -skip location -no-opengl -qt-zlib -qt-pcre -qt-libpng -no-libjpeg -qt-freetype -no-openssl

то полученный .exe требует .dll на другой машине.

А если я меняю в строке -shared на -static, то Qt после сборки-установки не компилирует проекты, говоря "g++.exe 0e0000142".

Если посоветуете куда копать - буду очень признателен.

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)