Qt 6.8.1 static build. Статическая сборка Qt 6.8 под Microsoft Visual Studio 2022 (msvc2022, Windows x64)
ОС: Windows 11
Microsoft Visual Studio 2022
Qt 6.8.1
1. Скачиваем архив исходников Qt для Windows (qt-everywhere-src-6.8.1.zip) с официального сайта qt.
2. Создаем каталог, например, c:\Qt\Qt6.8.1-x64-msvc2022-static\6.8\Src и распаковываем в него содержимое архива исходников. Сборка в дальнейшем будет привязана к данному каталогу и букве диска. Получим подкаталоги 6.8\Src\qtbase, 6.8\Src\coin и т.д.).
3. Устанавливаем:
Cmake (https://cmake.org/download)
StrawberryPerl (https://strawberryperl.com)
Python 3 (https://www.python.org)
Node.js (https://nodejs.org)
ninja (https://github.com/ninja-build/ninja/releases)
4. Запускаем командную строку (cmd) с правами администратора и последовательно выполняем в ней следующие команды:
Задаем системные переменные Qt:
Системная переменная пути к LLVM:
Системные переменные пути к ninja и gnuwin32 (для QtPdf):
Для Microsoft Visual Studio 2022 (msvc2022):
Конфигурация:
где:
-prefix "c:\Qt\qt6.8.1-x64-msvc2022-static\6.8" - путь, куда будет помещена сборка,
Пропущенные модули: -skip qtandroidextras -skip qtactiveqt -skip qtgamepad -skip qtmacextras -skip qtlocation -skip qtlottie -skip qtquick3d -skip qtquick3dphysics -skip qtquickcontrols -skip qtquickcontrols2 -skip qtquickeffectmaker -skip qtquicktimeline -skip qtremoteobjects -skip qtscript -skip qtscxml -skip qtsensors -skip qtspeech -skip qtvirtualkeyboard -skip qtwayland -skip qtwebengine -skip qtx11extras -skip qtgraphs -skip qdoc
-nomake examples -nomake tests - отказ от сборки тестов и примеров
-platform win32-msvc - выбор платформы
-confirm-license - подтверждение согласия с лицензией
-static -static-runtime - статическая сборка
Переход в каталог сборки:
Сборка:
Установка:
Сборка и установка документации (не прошло):
После сборки каталог Src можно удалить, там лежат исходники и более 100 Гигабайт промежуточных файлов.
Возможные ошибки:
- QtPdf won't be built. Python3 html5lib is missing. Необходимо установить html5lib:
QtPdf won't be built. Tool gperf is required.
QtPdf won't be built. Tool bison is required.
QtPdf won't be built. Tool flex is required.
Необходимо установить:
Gperf (https://sourceforge.net/projects/gnuwin32/files/gperf/3.0.1/gperf-3.0.1.exe/download)
Flex (https://gnuwin32.sourceforge.net/downlinks/flex.php)
Bison (http://downloads.sourceforge.net/gnuwin32/bison-2.4.1-setup.exe)
После сборки каталог Src будет занимать больше 100 Гигабайт. Его можно будет удалить.
QDoc собрать статически не удалось.
QtWebengine не поддерживает статическую сборку.
LLVM с официального сайта не подходит для данной статической сборки. Будет всё равно выводиться предупреждение.
Оказывается необходимо выбрать с сайта qt (https://qt-mirror.dannhauer.de/development_releases/prebuilt/libclang/) определенную версию LLVM (собранную разработчиками Qt) со статическими библиотеками, которых нет в официальной версии LLVM. Мне это сделать не удалось: выводились ошибки при сборке самого Qt6.
Поддержать проект (подарком):
ЮMoney 4100 1188 9778 9041
карта 5599 0021 0667 6341