编译基础模块 qtbase
Qt 6.5.0 下载:https://download.qt.io/archive/qt/6.5/6.5.0/
我只需要最基础的 UI 开发功能( Core、Gui、Widgets),因此进入 submodules 目录,仅下载 qtbase
模块即可,文件名是 qtbase-everywhere-src-6.5.0.zip。
解压后可以查看一下 config_help.txt
文件,有详细的编译命令。
然后创建一个 _build
文件夹,这是为了将临时文件都生成在这里,避免污染源码目录。
1 | mkdir _build |
接着根据自身需求配置编译参数,我用的是:
1 | ..\configure.bat -prefix "D:/Qt6/dist" -platform win32-msvc -debug-and-release -shared -nomake examples -nomake tests -opengl dynamic |
配置后依次运行以下命令:
1 | cmake --build . --parallel |
成功后在 D:/Qt6/dist
目录下就有最终的 SDK 了。
配置 Visual Studio
安装 VS 的开发插件 https://download.qt.io/official_releases/vsaddin/2.9.1/
插件只需要设置一下前面编译好的 Qt 文件夹路径即可。
创建一个工程可正常编译运行,但是发现无法编辑 .ui
文件,语言文件 .ts
也无法编辑,这是因为我们仅编译了 qtbase
模块,它不包含开发工具,开发工具在单独一个模块中,需要编译。
所以再次进入目录 https://download.qt.io/archive/qt/6.5/6.5.0/submodules/,下载 qttools-everywhere-src-6.5.0.zip 文件并解压。
然后也和 qtbase
模块一样,创建一个临时目录
1 | mkdir _build |
附加模块的编译方式和 qtbase
不同,它是通过 qtbase
编译生成出的 qt-configure-module.bat
脚本编译的,这也说明了在编译附加模块前必须先编译 qtbase
,它是基石。
1 | D:\Qt6\dist\bin\qt-configure-module.bat D:\Qt6\qttools-everywhere-src-6.5.0 |
参数是附加模块的源码目录,配置好后接着执行
1 | cmake --build . --parallel |
成功后会在 bin
目录下生成出 designer.exe
和 linguist.exe
文件。这样当我们在 VS 中双击 .ui
文件或 .ts
文件时会启动相应的开发工具。
安装语言文件
编译生成的Qt助手、Qt设计师、Qt语言家程序界面是英文的,因为缺少翻译文件。官方提供了翻译文件下载
https://download.qt.io/online/qtsdkrepository/windows_x86/desktop/qt6_650/qt.qt6.650.win64_msvc2019_64/
找到名字包含 qttranslations
的压缩包就是了,打开压缩包后将 translations
文件夹解压到 Qt 根目录下即可。再次打开Qt助手等程序就是中文了。
安装文档
自己编译的 Qt 是没有文档的,好在官方提供了预编译好的文档,我们只需要直接下载相应的模块文档并解压到 doc
目录下即可。
文档下载:https://download.qt.io/online/qtsdkrepository/windows_x86/desktop/qt6_650_src_doc_examples/qt.qt6.650.doc/
大陆地区镜像站点
当网络不好时,可以从国内的镜像站点下载相关资源
阿里云:https://mirrors.aliyun.com/qt/
清华大学:https://mirrors.tuna.tsinghua.edu.cn/qt/
中国科学技术大学:http://mirrors.ustc.edu.cn/qtproject/
中国互联网络信息中心:https://mirrors.cnnic.cn/qt/
在线安装
还有傻瓜式的在线安装方式:http://download.qt.io/official_releases/online_installers/
在线安装本质就是从上面的站点下载预编译好的文件到本地,目前的6.5.0
版本用的VC 2019
编译的,这意味着你的项目所使用的编译器最好和预编译的Qt保持一致。