【Qt】编译 Qt 5.15.x For Windows 基础教程 Visual Studio 2019 MSVC142 x64

【Qt】编译 Qt 5.15.x For Windows 基础教程 Visual Studio 2019 MSVC142 x64

目录



准备工作:(必须)

第一步:

Qt 源码下载:https://download.qt.io/official_releases/qt/

Qt Creator 源码下载:https://download.qt.io/official_releases/qtcreator/

第二步:

安装 Visual Studio 2019 并配置 VC++ 桌面开发工作负载:(怎么安装就不用说了吧)

小白如何下载安装 Visual Studio:
https://docs.microsoft.com/zh-cn/visualstudio/?view=vs-2019

附上我的版本信息:

版本信息: Visual Studio 2019 16.8.x

平台工具集:MSVC142 x64

Windows SDK 版本:17763.132

C++编译器版本:Microsoft VC++ 1928

第三步:

编译 Qt 5.15 需要预先安装以下解释器并配置环境变量:

Python 3.x: https://www.python.org/downloads/

Perl64: https://www.perl.org/get.html

(以上缺一不可 !)

如果需要 Make 本地文档,则需要安装 LLVM ,而且需要的是 Qt Company 预构建的 LLVM 。

LLVM Qt Prebuilt:
https://download.qt.io/development_releases/prebuilt/libclang/qt/

虽然现代开发主张阅读官方在线文档,但对于有特殊需求的开发者仍然需要本地文档。

建议工作:(非必须)

1,阅读此教程之前,请尽可能阅读Qt官方文档熟悉所有命令。

Qt 构建流程简述:
https://doc.qt.io/qt-5/windows-building.html

Qt Configure 命令官方解释:
https://doc.qt.io/qt-5/configure-options.html

Qt Doc LLVM 预配置:
https://doc.qt.io/qt-5/qdoc-guide-clang.html

2,编译环境建议在纯英文环境下进行,且源码路径与构建目录路径尽量简短且不包含空格、中文。

笔者是使用 Hyper-V 安装英文版 Win10 LTSC ,不建议使用 VMware 客户端。

可以下载微软官方Windows开发环境(英文):
https://developer.microsoft.com/zh-cn/windows/downloads/virtual-machines/

3,构建之前,请更新 Visual Studio 版本到最新。(但建议是VS的长期维护版本,例如16.4、16.7.)

因为框架编译之后需要分发给用户使用很长时间,为了降低后期迁移维护的成本,请尽可能保持最新。

从软件开发者的角度来讲,我们是希望用户使用我们的最新版软件,同样,上游那些搞编译器的鬼精老头子们也希望我们使用最新版编译器。

同时,对于以后升级软件依赖的底层框架版本,改动也会更少。

4,请尽量锁定编译器版本。

打开你想用于构建的 Visual Studio ,随便新建一个C++项目,执行代码:

cpp 复制代码
#include <iostream>

int main()
{
    std::cout << _MSC_VER << std::endl;
}

可查看你当前的 VC++ 编译器版本号。

然后到源码目录中找到这个文件:

bash 复制代码
<SrcPath>\qtbase\mkspecs\common\msvc-version.conf

打开这个文件,在第一行添加:

cpp 复制代码
QMAKE_MSC_VER = 1928

后面的数字就是你Print到的数字。

5,请尽可能在固态硬盘中进行构建。

整个构建过程相当于是对硬盘进行高频 4K IO 操作,为了保证性能,请尽可能使用固态硬盘,并在此之前手动运行Trim以确保最佳IO性能。笔者电脑配置为 Y9000k-2020H,10875H + 32GB 3200MHz + 1TB PM981a ,在Hyper-V中以CPU基础频率构建只需要两小时,效率非常高。


编译步骤:

第一步:

解压源码,并创建一个构建目录。

例如:

将源码解压到: C:\repos\Qt-Source-5.15.2

创建构建目录: C:\repos\Qt-Build-5.15.2

第二步:

在开始菜单中找到 Visual Studio 2019 程序组,并运行 x64 Native Tools Command Prompt for VS 2019 命令行工具,切换到源码目录。

如果你要编译 x86 版本,就运行 x86 的命令行工具。

然后切换到源码解压的目录:(路径根据个人选择,此为示例。)

bash 复制代码
cd C:\repos\Qt-Source-5.15.2

第三步:

设置 LLVM 路径,注意,LLVM 必须是上面说的由 Qt Company 预构建的 LLVM。

LLVM安装路径也是由个人选择,在此示例设置 LLVM 路径命令:

bash 复制代码
set LLVM_INSTALL_DIR=C:\SDK\LLVM\Qt\libclang
set QDOC_USE_STATIC_LIBCLANG=1

第一个命令就是设置 LLVM 安装路径到当前命令行环境变量。

第二个命令则是设置将 QDoc 编译为静态版本。(一般情况)

如果不需要本地文档,可以跳过LLVM步骤。现代开发主张阅读官网在线文档。

第四步:

执行安装配置。(最核心,非常重要)

命令行继续执行:

bash 复制代码
configure -debug-and-release -confirm-license -opensource -platform win32-msvc -prefix "C:\\repos\\Qt-Build-5.15.2" -qt-sqlite -qt-pcre -qt-zlib -qt-libpng -qt-libjpeg -qt-freetype -qt-harfbuzz -opengl dynamic -skip qtwebengine -nomake tests -no-compile-examples -mp

命令解读:

-debug-and-release : 编译 DeBug 和 Release 版本。

-confirm-license :自动选择许可类型。

-opensource :编译开源版本

-platform win32-msvc : 环境为 Win32 ,编译器为 MSVC。

-prefix "<Path>" :设置构建目录,最终构建好的文件将会输出到此目录。

-qt-sqlite -qt-pcre -qt-zlib -qt-libpng -qt-libjpeg -qt-freetype -qt-harfbuzz :选择连带构建的三方库。

具体有多少种三方库可构建,请参阅:https://doc.qt.io/qt-5/configure-options.html

-opengl dynamic :设置 OpenGL 版本为动态。和 desktop 具体区别请继续参阅上面地址。

-skip qtwebengine :跳过 Qt WebEngine 没有必要且体积非常大的东西。(官方都建议跳过)

-nomake tests :跳过 Tests 。

-no-compile-examples :跳过构建例子,但拷贝例子源码。

-mp :多核多线程编译。(加快编译速度)

第四步:

构建并Install文件到构建目录:

bash 复制代码
nmake && nmake install

此过程需要等待数小时,一般情况下两小时即可完成。

第五步:

生成文档:

bash 复制代码
nmake docs

第六步:

安装文档到构建目录:

bash 复制代码
nmake install_docs

总结

至此,Qt 框架编译完成。

Good luck!

相关推荐
IT专业服务商1 小时前
联想 SR550 服务器,配置 RAID 5教程!
运维·服务器·windows·microsoft·硬件架构
海尔辛1 小时前
学习黑客5 分钟小白弄懂Windows Desktop GUI
windows·学习
gushansanren2 小时前
基于WSL用MSVC编译ffmpeg7.1
windows·ffmpeg
专注代码七年3 小时前
在Windows 境下,将Redis和Nginx注册为服务。
windows·redis·nginx
吃面不喝汤663 小时前
破解 Qt QProcess 在 Release 模式下的“卡死”之谜
开发语言·qt
jiunian_cn3 小时前
【c++】异常详解
java·开发语言·数据结构·c++·算法·visual studio
simple_whu9 小时前
开启WSL的镜像网络模式
windows·wsl
charlie11451419110 小时前
逐步理解Qt信号与槽机制
数据库·qt
modest —YBW12 小时前
Ollama+OpenWebUI+docker完整版部署,附带软件下载链接,配置+中文汉化+docker源,适合内网部署,可以局域网使用
人工智能·windows·docker·语言模型·llama