参考资料
- https://doc.qt.io/qt-6.5/windows-building.html
- https://www.kucoding.com/article/149 (Qt6.5.3静态编译与使用-酷编程)
- https://blog.csdn.net/weixin_50964512/article/details/124746458 (Qt 静态编译与使用(6.2 详解版))
- https://zhuanlan.zhihu.com/p/630112083 (QT6 opensource安装详解)
下载源码包
安装build工具并配置相关环境变量
- D:\Qt\Tools\mingw1120_64\bin
- CMake Version 3.16 and newer (3.17 and newer for builds 3.21 and newer for builds)
- Ninja
- Python Version 3 Required build tool. Windows installers are available on python.org, or from the Microsoft Store.
验证build工具是否正确安装
- 打开cmd(不要关闭)
- 输入
1 2 3 4 5 6
set PATH=D:\Qt\Tools\mingw1120_64\bin;%PATH% gcc -v g++ -v cmake --version ninja --version python -V
设定文件夹
- F:\Qt\6.5.3\src 源码目录qt-everywhere-src-6.5.3.zip解压,并改名为src,放置于F:\Qt\6.5.3\src
- F:\Qt\6.5.3\build-mingw_64 build目录(Release版本)
- F:\Qt\6.5.3\build-mingw_64 build目录(Debug版本)
- F:\Qt\6.5.3-static\mingw_64 最后安装目录(Release版本)
- F:\Qt\6.5.3-static\mingw_64d 最后安装目录(Debug版本)
编译Release版本
-
建立F:\Qt\qt6mingw_64.cmd文件,需设置好Qt源代码路径、mingw1120_64路径(D:\Qt\Tools\mingw1120_64\bin)
-
建立cmd链接cmd-qt6mingw_64,并运行
- 本步骤主要用途为
- 开启cmd.exe /E:ON /V:ON
- 将Qt源码相关路径加入PATH
- /E:ON 启用命令扩展 详见[cmd.exe启动参数说明]
- /V:ON 启用延迟的环境变量扩展
- 本步骤主要用途为
-
输入
1 2
F: cd Qt\6.5.3\build-mingw_64
-
依上述定位到F:\Qt\6.5.3\build-mingw_64
-
依次执行命令
1 2 3
..\src\configure.bat -static -prefix "F:\Qt\6.5.3-static\mingw_64" -release -DNDEBUG #-DNDEBUG见常见错误 cmake --build . #不要忘记点 cmake --install . #不要忘记点
编译Debug版本
- 关闭上述命令窗口,重新运行cmd链接cmd-qt6mingw_64
- 输入
1 2
F: cd Qt\6.5.3\build-mingw_64d #注意路径有d
- 依上述定位到F:\Qt\6.5.3\build-mingw_64d
- 依次执行命令
1 2 3
..\src\configure.bat -static -prefix "F:\Qt\6.5.3-static\mingw_64d" -debug -DNDEBUG #注意路径有d,编译选项为-debug,-DNDEBUG见常见错误 cmake --build . #不要忘记点 cmake --install . #不要忘记点
编译(此段内容为历史记录,作废)
-
在cmd中(上述不要关闭,否则要重新set PATH=D:\Qt\Tools\mingw1120_64\bin;%PATH%)
-
本步骤在2023-11-23编译时未使用,查看官网文档可将上一步替换优化如下
- 建立F:\Qt\qt6mingw_64.cmd文件,需设置好Qt源代码路径、mingw1120_64路径
- 建立cmd链接cmd-qt6mingw_64,并运行
- 比较后,本步骤主要用途为
- 开启cmd.exe /E:ON /V:ON
- 将Qt源码相关路径加入PATH
- /E:ON 启用命令扩展 详见[cmd.exe启动参数说明]
- /V:ON 启用延迟的环境变量扩展
-
输入
1 2
F: cd Qt\6.5.3\build-mingw_64
-
依上述定位到F:\Qt\6.5.3\build-mingw_64
-
依次执行命令
1 2 3
..\src\configure.bat -static -prefix "F:\Qt\6.5.3-static\mingw_64" -debug-and-release -DNDEBUG #见常见错误 cmake --build . #不要忘记点 cmake --install . #不要忘记点
说明
- 其中-static就是静态编译的意思,而后面的-debug-and-release,则表示将调试版、发行版都进行编译。
- 等待配置完成后,再运行命令cmake –build .开始构建:
- 然后就是慢慢等编译了,这个过程比较漫长,如果电脑配置较低,估计需要几个小时:
- 编译完成后,继续运行命令cmake –install .即可将编译好的静态库安装到前面我们所指定的目录中去:
- 此时你就可以删除前面的build文件夹,释放110多G的空间,它已经没用了。
常见错误
- ERROR: Exactly one of NDEBUG and _DEBUG needs to be defined
- 在configure.bat这个命令中,增加-DNDEBUG
1
E:\qt-everywhere-src-6.5.0\qtbase\configure.bat -top-level -release -no-pch -prefix "E:\Qt\Qt6.5.0" -skip qtwebengine -nomake tools -nomake tests -nomake examples -DNDEBUG
2023-11-23编译(已删除)
环境:YPR-Desktop、Windows 11 pro 23H2、D:\Qt\Tools\mingw1120_64\bin、约20分钟、2.0GBbuild文件夹约100多GB,已删除测试时程序无法Debug:带d版本在build文件夹中已编译,但在camke –install .时没有被复制过来,参考VS2022编译安装Qt6.4
2023-11-25编译
- 环境:YPR-Desktop、Windows 11 pro 23H2、D:\Qt\Tools\mingw1120_64\bin、约15分钟(单独Release或Debug)、Release1.96GB+Debug37.9GB
- 采用了cmd-qt6mingw_64,分别编译Release和Debug版本
- build文件夹:Release55.8GB+Debug120GB,已删除
- 存档:7z(9-极限压缩)