当前栏目:java世界
QT 6 windows 编译避坑

2023-03-23
245
下载QT6.2.4
Index of /qt/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
解压源码到qt-everywhere-src-6.2.4\
编译前准备为避免库冲突 建议使用干净的一台电脑,否则路径很多需要排查太多。
安装准备
(1) Node.js node-v16.16.0-x64.msi (nodejs.org) 编译WebEngine 时需要
(2)CMAKE 必须下载大于3.21版本 cmake-3.23.3-windows-x86_64.zip
https://www.CMake.org
(3)PERL
The Perl Programming Language - www.perl.org
strawberry-perl应该也可以,但是因为里面保护MinGWC++ 导致后面static 编译异常 ,建议使用ActiveState Perl,简洁。
strawberry-perl-5.32.1.1-64bit-portable
(4)Ninja
github Release v1.11.0 · ninja-build/ninja · GitHub下载解压到D:\program\ninja-win
(5)Python
python.org 下载python 3.9 使用过anaconda 发现当anaconda 安装其他库,使用编译时找到但是又无法编译时,排除错误很痛苦。测试几轮后放弃。使用最精简的python了。
(6)VS2019 community
visualstudio.com
(7)编译QT WebEngine
安装python 2.7 为避免冲突python2.7 安装后注意修改名称为python2.exe
需要gperf bison flex 这些应该是词法分析或hash相关可执行程序
https://ftp.gnu.org/gnu/gperf/
https://github.com/jwinarske/gperf
http://gnuwin32.sourceforge.net/packages/bison.htm
http://gnuwin32.sourceforge.net/packages/flex.htm
下载https://gn.googlesource.com/gn/
gn需要FanQiang 下载,但是怀疑cmake bug gn说要求版本6.2.4 但是其实gn未查到此版本
注意下载时所有gperf bison flex 测试一下是否能够执行
同步bison 下载需要同时下载depends库
准备编译环境
(1)设置编译路径
我安装的除了NODE.js,安装时为避免冲突和异常都未添加path
此处需要在环境下执行
set PATH=d:\Qt\qt-everywhere-src-6.2.4\build\qtbase\bin;D:\program\python3.9;D:\program\cmake-3.23.3\bin\;D:\program\ninja-win;D:\program\Perl64\bin\;%PATH%
测试
perl --version
cmake --version
ninja --version
python -V
均需要能够正确显示结果
(2)配置
静态库编译
..\configure -static -prefix d:\Qt\6.2.4-static -release -opensource
动态库编译
..\configure -prefix d:\Qt\6.2.4-Release -release -opensource
(3)编译
cmake --build .
编译时可以采用多线程cmake --build . --parallel 5(线程数)
编译时偶尔遇到错误(我经常发生) 继续编译几次。可以成功。
注意VS2019 自带的cmake版本过低,一定记得自己下载
cmake --install .
注意:64位还是32位 由VC 2019 自己指定了
上文中的设置应该时无效的
安装QT
从 d:\Qt\6.2.4-Release 目录中就是编译后的结果。
(1)清华源可以下载以下软件并安装
qt-creator-opensource-windows-x86_64-8.0.0
qt-vsaddin-msvc2019-2.8.1-rev.06.vsix QT add ON
注意qt-creator 断网安装可以跳过注册。
(2)qt-creator安装
————————————————
版权声明:本文为CSDN博主「ty0_0」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ty0_0/article/details/126122582