|
|||||||
Памятка - как устанавливать Qt в Windows из исходников (подходит для Qt 5.15.x, Qt6)
Время создания: 02.06.2025 16:58
Автор: Yury Ovsyannikov (Jurik-Phys)
Текстовые метки: windows, windows 7, windows 10, qt, установка, сборка, исходники
Раздел: Компьютер - Программирование - Язык C++ (Си++) - Библиотека Qt - Инсталляция Qt и сборка проектов
Запись: xintrea/mytetra_syncro/master/base/1748872690xyw7zvfd2r/text.html на raw.github.com
|
|||||||
|
|||||||
Qt over aqtinstallУстановка библиотеки Qt c помощью aqtinstall .
pip install -U pip pip install aqtinstall aqt list-qt windows desktop Долгое ожидание и получение ошибки вида ERROR : Failed to download checksum for the file 'Updates.xml' from mirrors '['https://download.qt.io '] говорит о том, что доступ к скачиванию скорее всего запрещён по ip адресу. Для решения проблемы необходимо либо изменить запрашиваемое зеркало в настройках программы, либо производить запросы с иного ip адреса. Также на Хабре представлено решение с использованием зеркал Яндекса: [aqt] baseurl: https://qt-mirror.dannhauer.de/ [requests] max_retries_on_checksum_error: 1 max_retries_to_retrieve_hash: 1 INSECURE_NOT_FOR_PRODUCTION_ignore_hash: True [mirrors] fallbacks: https://mirrors.ocf.berkeley.edu/qt https://qt.mirror.constant.com/ https://ftp.acc.umu.se/mirror/qt.io/qtproject/ https://qtproject.mirror.liquidtelecom.com/ https://ftp.jaist.ac.jp/pub/qtproject http://ftp1.nluug.nl/languages/qt https://mirrors.dotsrc.org/qtproject https://mirror.yandex.ru/mirrors/qt.io В данном случае программу запускать следующим образом aqt -c aqt.cfg ... aqt list-qt windows desktop --arch 6.6.2 win64_mingw win64_msvc2019_64 win64_msvc2019_arm64 wasm_singlethread wasm_multithread aqt install-qt windows desktop 6.6.2 win64_mingw -m all --outputdir /c/opt/Qt export SETUPTOOLS_USE_DISTUTILS=stdlib В противном случае возможно появление ошибки VC6.0 is not supported export PATH="/c/opt/Qt/6.6.2/mingw_64/bin:$PATH" Qt from sourceУстановка из исходного кода
export PATH="/c/opt/Node.js:$PATH"
pip install html5lib В среде MSYS2 задать переменную в которых python ищет модули: export PYTHONPATH="/c/opt/Python/v3.12/lib/site-packages"
pacman -S gperf
pacman -S bison
pacman -S flex
git clone --branch llvmorg-18.1.2 https://github.com/llvm/llvm-project.git source cd source Список релизов доступен по ссылке . mkdir build cd build cmake ../llvm -G Ninja -DLLVM_ENABLE_PROJECTS=clang -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=c:\opt\LLVM\release ninja -j8 ninja -j8 check-all ninja install export PATH="$PATH:/c/opt/LLVM/release/bin" Также, чтобы сборка не была ограничена средой MSYS2, в системную переменную Path необходимо добавить каталог C:\opt\LLVM\release\bin.
git clone git://code.qt.io/qt/qt5.git src cd src git switch 6.6.2 perl init-repository mkdir build cd build ../configure -cmake-generator Ninja -prefix /opt/Qt/6.6.2/mingw_64-libstd-static -qt-zlib -qt-libb2 -no-zstd cmake --build . --parallel cmake --install . MinGW
pacman -S mingw-w64-ucrt-x86_64-toolchain Будет предложено установить следующие пакеты: - mingw-w64-ucrt-x86_64-binutils - mingw-w64-ucrt-x86_64-crt-git - mingw-w64-ucrt-x86_64-gcc - mingw-w64-ucrt-x86_64-gdb - mingw-w64-ucrt-x86_64-gdb-multiarch - mingw-w64-ucrt-x86_64-headers-git - mingw-w64-ucrt-x86_64-libmangle-git - mingw-w64-ucrt-x86_64-libwinpthread-git - mingw-w64-ucrt-x86_64-make - mingw-w64-ucrt-x86_64-pkgconf - mingw-w64-ucrt-x86_64-tools-git - mingw-w64-ucrt-x86_64-winpthreads-git - mingw-w64-ucrt-x86_64-winstorecompat-git
pacman -S make pacman -S cmake При необходимости изменить генератор cmake, используемый по умолчанию, необходимо в файле /.bashrc установить соответствующую переменную среды: export CMAKE_GENERATOR="MSYS Makefiles" Для статической сборки стандартных библиотек C/C++ и библиотеки libwinpthread из MinGW необходимо установить некоторые параметры линковщика (подробности по ссылке ): export LDFLAGS="-static-libgcc -static-libstdc++ -Wl,-Bstatic,--whole-archive -lwinpthread -Wl,-Bdynamic,--no-whole-archive"
export PATH="/c/opt/MSYS64/mingw64/bin:$PATH"
C:\msys64\mingw64\bin
pacman -S git Deploying your applicationДля развёртывания приложения в операционной системе Windows служит утилита windeployqt, которая копирует необходимые для работы приложения библиотеки из Qt и рантайма компилятора: windeployqt application.exe В случае, если рантайм компилятора не требуется, то используется параметр -no-compiler-runtime: windeployqt application.exe -no-compiler-runtime Подробности по ссылке https://doc.qt.io/qt-6/windows-deployment.html Еще могут понадобиться MSYS2 и Python. Ниже рассказывается как их устанавливать.
pacman -Syu Справка по параметрам pacman'а доступна по ссылке . pacman -Syu При проблемах с доступом к тому или иному зеркалу репозитория программ можно отредактировать список зеркал в файлах /etc/pacman.d/mirrorlist.* pacman -Ss <package_name> pacman -S <package_name> Python
export PATH="/c/opt/Python/v3.12:/c/opt/Python/v3.12/Scripts:$PATH"
C:\opt\Python\v3.12 C:\opt\Python\v3.12\Scripts |
|||||||
Так же в этом разделе:
|
|||||||
![]() |
|||||||
|
|||||||
|