在 Windows 平台使用 Visual C++ 2022 编译 QT6 源码

0. 引言

如果您想要自己编译 QT6 的开发库,可以参考我这篇短文。什么时候需要自己编译 QT6 开发库呢?或许您想要调研并修补 QT 的 Bug,或许您工作在特殊行业,需要在不连接互联网的情况下安装 QT 开发库。

1. 准备工作

首先要获得我们的QT6开发库的源码。在是2022年11月,QT6最新的稳定版是6.4.0,所以我刚刚从QT的官方网站下载了一份 QT 6.4.0 的源码,是一份压缩文件:qt-everywhere-src-6.4.0.zip。下载地址:https://download.qt.io/archive/qt/6.4/6.4.0/single/

我们需要准备的工具软件如下表所示:

序号软件名称软件版本建议实际采用的版本
1Visual Studio版本不低于VS2015Visual Studio 2022 (17.4.0)
2PythonPython 3.x-64位Python 3.11.0-64位
3PerlPerl5-64位Perl5 v5.32.1 for MSWin32-x64-multi-thread
4cmake版本不低于3.16cmake 3.24.3
5ninja版本不低于1.10.2ninja 1.11.1

然后将QT 6.4.0 的源码qt-everywhere-src-6.4.0.zip解压缩。接下来的一切操作,全都是在解压后的源码目录中进行。
我很刻意地把源码解压目录重命名为:qt-everywhere-src-6.4.0_x64。为什么呢?因为接下来的操作我是以编译为64位版本为例的。假如您还需要编译一份32位版本,那么您可以将源码目录重命名为qt-everywhere-src-6.4.0_x86,就不跟这个64位的库混淆了。

python、Perl和cmake下载对应安装包,即可安装完成,ninja下载后直接将下载解压后的文件夹添加到系统变量的path里面就可以了。

2. 配置

以我的开发环境为例,现在我的 QT6 源码目录的路径是D:\Dev\qt-everywhere-src-6.4.0_x64,我想要把编译过程中生产的文件保存在D:\QT6_x64目录中。

在开始菜单中单击 Visual Studio 2022 的x64 Native Tools Command Prompt for VS 2022控制台窗口。
注意:本文是以编译64位的QT6为例进行操作的,如果您需要编译32位版本,请单击 Visual Studio 2022 的x86ve Tools Command Prompt for VS 2022控制台窗口。

在此控制台窗口中执行以下命令:
cd /d D:\Dev\qt-everywhere-src-6.4.0_x64

cd /d D:\Dev\qt-everywhere-src-6.4.0_x64
configure -prefix D:\QT6_x64\ -debug-and-release -opensource

仔细阅读上述日志,尤其关注配置失败的条目,看看这些没有配置成功的条目是否是自己所关心(需要)的模块。假如您希望安装的模块没有配置成功,那么需要通过google、stackoverflow等互联网资源进行搜索调查,看看如何解决。有些条目可能需要依赖一些第三方库,那么您需要把第三方库的源码文件拷贝到相应目录中,再重新执行一下这个配置过程。

3. 编译和安装

继续在 Visual Studio 2022 的x64 Native Tools Command Prompt for VS 2022控制台窗口中执行以下 2 条命令,分别完成编译和安装这 2 个过程。

cmake --build . --parallel
cmake --install .

操作完毕。

文章来源:https://www.cnblogs.com/yapingxin/p/16887836.html