Windows环境下QT源码下载及编译
说明:以下内容部分来自腾讯元宝。
说明:以下内容部分来自腾讯元宝。
QT的下载
https://download.qt.io/archive/qt/6.9/6.9.1/
选择最新版本,现在最新版本是6.9.1,根据路径archive->qt->6.9->6.9.1进入最新版本。注意有两个目录:submodules和single,二者的差异请参考文章:QT源码下载时single 和 submodule 的差异-CSDN博客
https://blog.csdn.net/qq_20725221/article/details/150017914?sharetype=blogdetail&sharerId=150017914&sharerefer=PC&sharesource=qq_20725221&spm=1011.2480.3001.8118

进入single目录,点击qt-everywhere-src-6.9.1.zip进行下载。

QT的编译
1. 系统要求
-
操作系统:Windows 10/11(64位,版本 21H2 及以上)
-
磁盘空间:至少 20GB 可用空间(源码约 10GB,编译产物约 8GB)
-
Visual Studio 2022:需安装 C++ 桌面开发工具链(关键组件)。
2. 安装 Visual Studio 2022
-
下载 Visual Studio 2022 社区版(免费)。
-
安装时勾选以下工作负载:
-
使用 C++ 的桌面开发(必选,包含 MSVC 编译器、MSBuild 等)。
-
可选:Windows 10/11 SDK(默认已勾选,确保支持最新系统 API)。
-

3. 安装依赖工具
Perl
-
Perl:Qt 配置脚本依赖 Perl,推荐安装 Strawberry Perl(64位版本),并添加
C:\Strawberry\perl\bin到系统PATH。(下载地址:Strawberry Perl for Windows - Releases)
下载

安装


点击install开始安装


Python
下载
-
Python 3.10+:Qt 6 依赖 Python,从 Python 官网下载并安装(勾选 "Add Python to PATH")。(下载地址:Python Releases for Windows | Python.org)

安装





安装ninja
-
解压到任意目录(如
E:\ninja),下载地址:Releases · ninja-build/ninja。 -
设置环境变量:
-
右键“此电脑” → 属性 → 高级系统设置 → 环境变量 → 编辑
Path→ 添加 Ninja 所在目录。
-
在系统环境变量中添加。

安装Clang:

暂时不安装,不影响Qt源码编译。
二、解压 Qt 源码
-
下载最新的 Qt single 源码包(如qt-everywhere-src-6.9.1.zip)到本地(如
E:\QT\src)。 -
解压到目标路径(如
E:\QT\src\qt-everywhere-src-6.9.1),建议使用 7-Zip或 WinRAR 解压。

三、配置编译参数(关键步骤)
1. 启动 VS2022 开发人员命令提示符
-
按
Win + S搜索 x64,找到"x64 Native Tools Command Prompt for VS 2022"(x64的电脑就选这个,x86的就选"Developer Command Prompt for VS 2022",别搞错了,否则会遇到后面的问题模块计算机类型“x86”与目标计算机类型“x64”冲突),右键选择 "以管理员身份运行"(避免权限问题)。

2. 切换到 Qt 源码目录
C:\Windows\System32>E:
E:\>cd E:\QT\src\qt-everywhere-src-6.9.1
E:\QT\src\qt-everywhere-src-6.9.1>
3. 运行配置脚本 configure.bat
在源码目录下创建build目录并进入该目录,执行源码目录下的configure.bat脚本。
E:\QT\src\qt-everywhere-src-6.9.1>mkdir build
E:\QT\src\qt-everywhere-src-6.9.1>cd build
E:\QT\src\qt-everywhere-src-6.9.1\build>E:\QT\src\qt-everywhere-src-6.9.1\configure.bat
直到出现以下内容表示配置完成了:
Qt is now configured for building. Just run 'cmake --build . --parallel'
* Tool bison is required.
* Tool gperf is required.
* Python3 html5lib is missing (E:/Python/install/python.exe).
* 64-bit Node.js 14.9 version or later is required.
Once everything is built, you must run 'cmake --install .'
Qt will be installed into 'C:/Qt/Qt-6.9.1'
To configure and build other Qt modules, you can use the following convenience script:
C:/Qt/Qt-6.9.1/bin/qt-configure-module.bat
If reconfiguration fails for some reason, try removing 'CMakeCache.txt' from the build directory
Alternatively, you can add the --fresh flag to your CMake flags.
-- Configuring done (1331.9s)
-- Generating done (43.7s)
-- Build files have been written to: E:/QT/src/qt-everywhere-src-6.9.1/build
四、编译源码
1. 执行编译命令
cmake --build . --parallel
2.编译过程中出现的问题
问题1:E:\QT\src\qt-everywhere-src-6.9.1\qtmultimedia\src\multimedia\windows\qwindowsaudiosink.cpp(346): error C2398: 元素“2”: 从“uint32_t”转换为“qsizetype”需要收缩转换
(这个问题应该也是由于使用了Developer Command Prompt for VS 2022指令窗口而不是x64 Native Tools Command Prompt for VS 2022指令窗口导致的,所以可以忽略,此处仅仅记录。)
解决方法:

问题2:gn_main.obj : fatal error LNK1112: 模块计算机类型“x86”与目标计算机类型“x64”冲突
FAILED: gn.exe
F:/visual studio/install/product/VC/Tools/MSVC/14.44.35207/bin/Hostx86/x86/cl.exe /nologo src/gn/gn_main.obj /link /OPT:REF /DEBUG /MANIFEST:EMBED /MANIFESTINPUT:..\..\..\..\..\qtwebengine\src\3rdparty\gn\build\windows.manifest.xml /MACHINE:x64 /PDB:gn.exe.pdb /OUT:gn.exe advapi32.lib dbghelp.lib kernel32.lib ole32.lib shell32.lib user32.lib userenv.lib version.lib winmm.lib ws2_32.lib Shlwapi.lib base.lib gn_lib.lib
src\gn\gn_main.obj : fatal error LNK1112: 模块计算机类型“x86”与目标计算机类型“x64”冲突
ninja: build stopped: subcommand failed.
出现了这个问题后,才知道Visual Studio 2022中配的是x86的编译器,原因如上提及到的,我使用的是Developer Command Prompt for VS 2022指令窗口而不是x64 Native Tools Command Prompt for VS 2022指令窗口,QT手册中也有配置环境的提醒,但是我没有留意,耽误了很长时间,不过一开始也不知道这个是干啥的,在弯路中成长也不错。

五、安装编译结果
编译完成后,执行安装命令:
cmake --build . --parallel
不得不说,我的电脑性能真不行,编至少都得有10个小时了,等得心累,不过幸好换了x64 Native Tools Command Prompt for VS 2022后没有再遇到问题。
安装
cmake --install .
编译完成后,找了好久没找到编译生成的工具和库在哪儿,再重新认真看了一遍手册,发现人家有说的,就是自己不长眼睛,啊啊啊,在C盘中找到了,然后我将其拷贝到E盘目录下了。

六、设置环境变量
永久添加(推荐)
按 Win + R,输入 sysdm.cpl,回车
点击"高级"标签
点击"环境变量"
在"系统变量"中找到 Path,点击"编辑"
点击"新建",添加 E:\QT\Qt-6.9.1\bin
点击"确定"保存
重新打开命令行窗口
七、验证编译结果
打开x64 Native Tools Command Prompt for VS 2022窗口,查看qmake的版本,正常显示则表示正常。
F:\visual studio\install\product>qmake -v
QMake version 3.1
Using Qt version 6.9.1 in E:/QT/Qt-6.9.1/lib
F:\visual studio\install\product>
参考内容
更多推荐


所有评论(0)