Qt 5.15 static build (Windows x64). Статическая сборка Qt 5.15 под Microsoft Visual Studio 2019 (Windows x64)
1. Скачиваем архив исходников Qt для Windows (qt-everywhere-src-5.12.2.zip) с официального сайта.
2. Скачиваем утилиту jom и распаковываем её в каталог «C:\Qt\jom».
3. Создаем каталог, например, c:\Qt\Qt5.15.2-x64-msvc2019-static\5.15\Src и распаковываем в него содержимое архива исходников. Сборка в дальнейшем будет привязана к данному каталогу и букве диска. Каталог qt-everywhere-opensource-src-5.15.2 не создаем, т.е. получим подкаталоги 5.15\Src\qtbase, 5.15\Src\coin и т.д.). msvc2019 – это выбранный компилятор.
4. Редактируем файл msvc-desktop.conf (находится в каталоге c:\Qt\Qt5.15.2-x64-msvc2019-static\5.15\Src\qtbase\mkspecs\common\):
нужно заменить в переменных QMAKE_CFLAGS_RELEASE, QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO и QMAKE_CFLAGS_DEBUG значения -MD на -MT (для release), и -MDd на -MTd (для debug).
5. Запускаем командную строку (cmd) с правами администратора и последовательно выполняем в ней следующие команды:
Аналогично делается для Microsoft Visual Studio 2010, 2013, 2015, 2017.
Контакты:
Телеграм-канал t.me/zqtprog
https://vc.ru/u/1135230-zqtprog
https://dzen.ru/zqtprog
1. А как согласуется эта либа в статическом виде с бесплатной Qt-лицензией? Или этот use case для тех, кто на коммерческой лицензии?
2. И, по-моему, правильнее было бы осуществлять сборку в отдельном каталоге, чтоб потом проще было почистить временные файлы. Или jom умеет в clean?
3. Можно ли как-либо эту схему провернуть без модификации файлов конфигирации в недрах Qt-исходников, например, через ключи, передаваемые в configure?
1. Кто понимает зачем статическая либа, тот не задаст таких вопросов.
2. Да, так удобнее будет.
3. Можно, посмотрите сборку Qt 5.15.10 -
https://t.me/zqtprog/86
4.4. Статическая сборка Qt 5.15.10 (MSVC2019 x64 Windows 10)
Сборка под Microsoft Visual Studio 2019
Разрядность: x64
ОС: Windows 10, Windows 11
Скачиваем архив исходников Qt для Windows (qt-everywhere-opensource-src-5.15.10.zip) с официального сайта:
https://download.qt.io/officia...
4.4. Статическая сборка Qt 5.15.10 (MSVC2019 x64 Windows 10)
Сборка под Microsoft Visual Studio 2019
Разрядность: x64
ОС: Windows 10, Windows 11
Скачиваем архив исходников Qt для Windows (qt-everywhere-opensource-src-5.15.10.zip) с официального сайта:
https://download.qt.io/official_releases/qt/5.15/5.15.10/single/qt-everywhere-opensource-src-5.15.10.zip
Создаем каталог с понятным нам путями, например, «c:/Qt/Qt5.15.10-x64-msvc2019-static/5.15/Src» и распаковываем в него содержимое архива исходников с дальнейшим переходом в него:
cd c:/Qt/Qt5.15.10-x64-msvc2019-static/5.15/Src
Править файл ?.conf уже нет необходимости, если используется флаг -static-runtime.
Если же данный флаг не используется, то заменяем в переменных QMAKE_CFLAGS_RELEASE, QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO и QMAKE_CFLAGS_DEBUG параметр -MD на -MT для release-версии, и -MDd на -MTd для debug-версии:
c:\Qt\Qt5.15.10-x64-msvc2019-static\5.15\Src\qtbase\mkspecs\common\msvc-desktop.conf
Устанавливаем LLVM.
Запускаем от администратора командную строку "cmd" и последовательно выполняем следующие команды:
cd "c:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build"
vcvarsall.bat amd64
set QTDIR=c:\Qt\Qt5.15.10-x64-msvc2019-static\5.15\Src\qtbase
set PATH=c:\Qt\Qt5.15.10-x64-msvc2019-static\5.15\Src\qtbase\bin;%PATH%
set PATH=c:\Program Files\LLVM\bin;%PATH%
set LLVM_INSTALL_DIR=C:\Program Files\LLVM
cd c:\Qt\Qt5.15.10-x64-msvc2019-static\5.15\Src
configure -debug-and-release -static -static-runtime -opensource -confirm-license -platform win32-msvc2019 -opengl desktop -nomake examples -nomake tests -qt-zlib -qt-libpng -qt-libjpeg -prefix "c:\Qt\Qt5.15.10-x64-msvc2019-static\5.15" -skip qtactiveqt -skip qtandroidextras -skip qtconnectivity -skip qtdeclarative -skip qtgamepad -skip qtlocation -skip qtlottie -skip qtmacextras -skip qtpurchasing -skip qtquick3d -skip qtquickcontrols -skip qtquickcontrols2 -skip qtquicktimeline -skip qtremoteobjects -skip qtscript -skip qtscxml -skip qtsensors -skip qtspeech -skip qtvirtualkeyboard -skip qtwayland -skip qtx11extras -no-dbus -no-openssl
C:\Qt\jom\jom.exe /J 4
C:\Qt\jom\jom /J 4 install
Для сборки документации:
C:\Qt\jom\jom /J 4 docs
C:\Qt\jom\jom /J 4 install_docs
где 4 - количество ядер.