一、准备环境
包括安装VS2022,Windows SDK,Python3,这里就不再一一介绍了,需要说明的一点是如果要编译QtWebEngine和QtPdf两个组件的依赖问题,当然如果不需要,也可以不管它,则不会编译。
- python库
html5lib:
WARNING: QtWebEngine won't be built. Python3 html5lib is missing.
WARNING: QtPdf won't be built. Python3 html5lib is missing.
使用pip install html5lib 安装。
- gperf、bison、flex
WARNING: QtWebEngine won't be built. Tool gperf is required.
WARNING: QtPdf won't be built. Tool gperf is required.
如果安装有Qt 5的Windows版本,比如5.14.2且安装了源码,可以在Qt5.14.2\5.14.2\Src\gnuwin32\bin目录下找到这些工具:

直接设置一下PATH路径即可。
如果没有,则需要手动下载,相对比较麻烦,这里给几个工具的地址:
Gperf for Windows
Bison for Windows
Flex for Windows
二、下载Qt 6.5源码
从官网下载qt-everywhere-src-6.5.0.tar.xz,也可以下载qt-everywhere-src-6.5.0.zip,由于前者压缩率更高,文件更小,下载更快,所以笔者选择了了前者。
三、解压
可以使用7z解压,也可以使用MinGW中的tar进行解压
tar xvf qt-everywhere-src-6.5.0.tar.xz
注意,编译整个项目需要的磁盘空间比较大,在不编译QtWebEngine和QtPdf两个组件的情况下,需要40G左右的空间,如果全部编译则需要更多空间。
四、编译、安装
为了不污染源码目录,建议新建一个目录,比如buildvc,在这个目录下进行编译,下面的命令需要在VS2022的命令行提示符中运行,否则会找不到编译器以及其它相关的程序:
cd qt-everywhere-src-6.5.0
mkdir buildvc
cd buildvc
..\configure -prefix %CD%\qt6.5
ninja
建议使用ninja进行编译,速度会更快,如果没有安装ninja,可以使用cmake --build .进行编译。ninja默认会进行并行编译,所以可以不用添加参数了。如果有错误且为乱码,则可以尝试使用chcp 65001将控制台编码改为UTF8来查看。
耐心等待编译完成,在编译过程中如果有退出,可以尝试继续使用ninja编译,直到继续完成。
笔者在编译过程中遇到qtspeech\src\plugins\tts\winrt\qtexttospeech_winrt_audiosource.h报错,做一个修改即可:

编译完成后,使用下面的命令进行安装:
cmake --install .
就会安装在qt-everywhere-src-6.5.0\buildvc\qt6.5目录下。

该文详细阐述了在VS2022环境下编译Qt6.5所需的准备工作,包括安装Python3、html5lib库、gperf、bison和flex等工具。文章提到了如果不编译QtWebEngine和QtPdf,可以忽略某些依赖。接着,作者指导如何下载Qt6.5源码,解压后在新建的目录下进行编译,并推荐使用ninja以加快速度。在编译过程中可能遇到的问题及解决方案也被提及,如对qtspeechsrcplugins tswinrtqtexttospeech_winrt_audiosource.h的修改。最后,文章指出编译成功后使用cmake进行安装。
2888

被折叠的 条评论
为什么被折叠?



