参考资料
- 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 详解版))
下载源码包
安装build工具并配置相关环境变量
- Visual Studio 2019或2022
- 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工具是否正确安装
- 打开"x64 Native Tools Command Prompt for VS 2022"
- 输入
1 2 3
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-msvc2019_64 build目录(Release版本)
- F:\Qt\6.5.3\build-msvc2019_64d build目录(Debug版本)
- F:\Qt\6.5.3-static\msvc2019_64 最后安装目录(Release版本)
- F:\Qt\6.5.3-static\msvc2019_64d 最后安装目录(Debug版本)
编译Release版本
-
建立F:\Qt\qt6vars.cmd文件,需设置好VS2022的bat路径(x64 Native Tools Command Prompt for VS 2022)、是否amd64、Qt源代码路径
-
建立cmd链接cmd-qt6vars,并运行
- 本步骤主要用途为
- 开启cmd.exe /E:ON /V:ON
- 将Qt源码相关路径加入PATH
- /E:ON 启用命令扩展 详见[cmd.exe启动参数说明]
- /V:ON 启用延迟的环境变量扩展
- 本步骤主要用途为
-
输入
1 2
F: cd Qt\6.5.3\build-msvc2019_64
依上述定位到F:\Qt\6.5.3\build-msvc2019_64 依次执行命令
1 2 3
..\src\configure.bat -static -prefix "F:\Qt\6.5.3-static\msvc2019_64" -release cmake --build . #不要忘记点 cmake --install . #不要忘记点
编译Debug版本
-
关闭上述命令窗口,重新运行cmd链接cmd-qt6vars
-
输入
1 2
F: cd Qt\6.5.3\build-msvc2019_64d #注意路径有d
依上述定位到F:\Qt\6.5.3\build-msvc2019_64d 依次执行命令
1 2 3
..\src\configure.bat -static -prefix "F:\Qt\6.5.3-static\msvc2019_64d" -debug #注意路径有d,编译选项为-debug cmake --build . #不要忘记点 cmake --install . #不要忘记点
编译(此段内容为历史记录,作废)
-
打开"x64 Native Tools Command Prompt for VS 2022"
-
本步骤在2023-11-23编译时未使用,查看官网文档可将上一步替换优化如下
- 建立F:\Qt\qt6vars.cmd文件,需设置好VS2022的bat路径、是否amd64、Qt源代码路径
- 建立cmd链接cmd-qt6vars,并运行
- 比较后,本步骤主要用途为
- 开启cmd.exe /E:ON /V:ON
- 将Qt源码相关路径加入PATH
- /E:ON 启用命令扩展 详见[cmd.exe启动参数说明]
- /V:ON 启用延迟的环境变量扩展
-
输入
1 2
F: cd Qt\6.5.3\build-msvc2019_64
依上述定位到F:\Qt\6.5.3\build-msvc2019_64 依次执行命令
1 2 3 4
#2023-11-23编译、2023-11-24编译 ..\src\configure.bat -static -prefix "F:\Qt\6.5.3-static\msvc2019_64" -debug-and-release cmake --build . #不要忘记点 cmake --install . #不要忘记点
-
2023-11-24编译解决带d版本在camke –install .时没有被复制过来
-
清空build目录,最后安装目录不动
-
依次执行命令
1 2 3 4
#重新用-debug编译一次 ..\src\configure.bat -static -prefix "F:\Qt\6.5.3-static\msvc2019_64" -debug cmake --build . #不要忘记点 cmake --install . #不要忘记点
-
说明
- 其中-static就是静态编译的意思,而后面的-debug-and-release,则表示将调试版、发行版都进行编译。
- 等待配置完成后,再运行命令cmake –build .开始构建:
- 然后就是慢慢等编译了,这个过程比较漫长,如果电脑配置较低,估计需要几个小时:
- 编译完成后,继续运行命令cmake –install .即可将编译好的静态库安装到前面我们所指定的目录中去:
- 此时你就可以删除前面的build文件夹,释放110多G的空间,它已经没用了。
2023-11-23编译(已删除)
环境:YPR-Desktop、Windows 11 pro 23H2、Visual Studio 2022、约20分钟、1.41GBbuild文件夹约100多GB,已删除测试时程序无法Debug:带d版本在build文件夹中已编译,但在camke –install .时没有被复制过来,参考VS2022编译安装Qt6.4
2023-11-24编译
- 环境:YPR-Desktop、Windows 11 pro 23H2、Visual Studio 2022、约20分钟、Release1.41GB+Debug15.6GB
- 采用了qt6vars.cmd
- build文件夹约111GB(单独Release为51.3GB,单独Debug为77.9GB),已删除
- 测试时程序无法Debug:带d版本在build文件夹中已编译,但在camke –install .时没有被复制过来,参考VS2022编译安装Qt6.4
- 解决方案:用-debug选项再编译一次(build文件夹需清空,install文件夹需备份Release版本)
- -debug和–release选项有同名文件但大小不同,install文件夹不能合并
- Debug版本QTDIR路径不是F:\Qt\6.5.3\build-msvc2019_64d而是F:\Qt\6.5.3\build-msvc2019_64,应用qt.conf修正
- 存档:7z(9-极限压缩)