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) с правами администратора и последовательно выполняем в ней следующие команды:

cd "c:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build" vcvarsall.bat amd64 set QTDIR=c:\Qt\Qt5.15.2-x64-msvc2019-static\5.15\Src\qtbase set PATH=c:\Qt\Qt5.15.2-x64-msvc2019-static\5.15\Src\qtbase\bin;%PATH% cd c:\Qt\Qt5.15.2-x64-msvc2019-static\5.15\Src\qtbase configure -debug-and-release -opensource -platform win32-msvc2019 -opengl desktop -static -nomake examples C:\Qt\jom\jom.exe -j 50

Аналогично делается для Microsoft Visual Studio 2010, 2013, 2015, 2017.

22
реклама
разместить
2 комментария

1. А как согласуется эта либа в статическом виде с бесплатной Qt-лицензией? Или этот use case для тех, кто на коммерческой лицензии?
2. И, по-моему, правильнее было бы осуществлять сборку в отдельном каталоге, чтоб потом проще было почистить временные файлы. Или jom умеет в clean?
3. Можно ли как-либо эту схему провернуть без модификации файлов конфигирации в недрах Qt-исходников, например, через ключи, передаваемые в configure?

1

1. Кто понимает зачем статическая либа, тот не задаст таких вопросов.
2. Да, так удобнее будет.
3. Можно, посмотрите сборку Qt 5.15.10 -
https://t.me/zqtprog/86