Qt 5.15.0编译指南

从Qt5.15.0起,对于开源用户,Qt官方不再提供独立安装文件,且不再有bug修复版本(比如Qt5.15.1)

如果想体验Qt5.15及之后的版本,就要培养一个新技能——编译Qt源码

从编译到发布大概需要这么几个步骤:

1. 从Qt官网下载源码;

2. 编译源码;

3. 将编译后的qmake.exe导入QtCreator或者Visual Studio;

4. 使用QtCreator或者Visual Studio编译Qt项目;

5. 项目发布可仍然使用windeployqt.exe。

下面记录一下本人折腾Qt5.15的历程(本人以前伸手党,直接用的离线安装包,快哉)

1. 下载并解压源码

网址:http://download.qt.io/archive/qt/5.15/5.15.0/single/qt-everywhere-src-5.15.0.zip

下载后解压即可,为了节省后面折腾的时间,我建议你解压到 "d:\qtsrc"这个目录。简单说一下,放在哪个盘是你自己决定的,需要保证这个盘有100GB+的剩余空间就行。为什么我起了qtsrc这个目录呢,因为默认的文件夹名字“qt-everywhere-src-5.15.0”名字太长,在windows下编译时,可能编译了几个小时后出现奇怪的错误,因为它调用的脚本处理不了太长的路径。

2. 编译环境

在讨论编译之前,我先把我的编译环境说一下,因为,这非常重要。各种奇奇怪怪的问题都可能是由于编译环境的设定引入的。

操作系统 Windows 10, build 18362.836 (窃以为操作系统升级到最新的总是没错的)

Visual Studio 2019, version 16.6.1(也是比较新版的)

Windows SDK Version, 10.0.19041.0 (在编译Qt时,有提示,Win SDK Version要大于XXX版, 当时版本较低,所以去官网下了个新版)

操作系统语言: 英语(奉劝直接改为英语,如果是中文的话,编译几个小时后报错,岂不是很崩溃,这种崩溃我已经体验很多次了。原因是qt源码中颇有些文件的编码是默认的,也就是随着操作系统语言变的,可能存在解析错误)

Visual Studio语言:英语(这里又重复提了一下Visual Studio的语言,因为它也很重要,别问我怎么知道的,把它的语言设置成英语,如果没有选项可以修改语言的话,就用Visual Studio Installer去装个语言包,然后再设置为英语)

3. 编译源码

看了上面的编译环境,应该已经猜到了。我就是用VS2019进行编译的。具体来讲,是VS2019-32bit-nmake方式。

首先,看一下这篇文章https://doc-snapshots.qt.io/qt5-5.15/windows-building.html

直接从它里面的step3开始吧,新建一个qt5vars.cmd文件,把它黑框框里的内容粘进去,路径改成你的路径。

打开Vs2019安装目录下的x86 Native Tools Command Prompt for VS 2019

输入 cmd.exe /E:ON /V:ON /k C:\Qt\qt5vars.cmd

然后切换到d:\qtsrc这个目录

输入 configure -debug -nomake examples -nomake tests -skip qtwebengine -opensource

注意啊,上面 -debug是只编译debug版本,换成-release是只编译release版本

我是先编译的debug版本,后编译的release版本,应该也是可以一起编的,好像是-debug-and-release,我没有试过,因为不放心。

configure之后

输入 nmake

进入漫长的等待(几个小时吧,看你的电脑性能)。

如果编译结束且没有报错

输入 nmake install

进入短暂而开心的等待(几分钟吧)

3.1 编译QtWebengine

你看刚才输入的configure,里面有个-skip qtwebengine,是的,如其名,把QtWebengine模块给跳过去了,为什么跳过去呢,因为编译它实在是太复杂了,它的代码量堪比其他所有模块的代码量之和。编译时长也比其他所有模块编译的总时长还要长。

而且,它只支持64位,所以为了兼容32位,我们要换个工具,VS2019安装目录下的x64_x86 Cross Tools Command Prompt for VS 2019。

打开这个x64_x86工具,我建议你再做几个准备工作:

1)把QtWebengine源码拷贝到根目录,比如D:\Qt\qtwebengine

2)新建一个文件夹,比如D:\Qt\bwe (寓意BuildWebEngine),当然啦,这个盘也要有100GB+的剩余空间

然后就开始吧:

在x64_x86控制台下

输入 cd d:\Qt\bwe

输入 C:\Qt\Qt-5.15.0\bin\qmake.exe d:\Qt\qtwebengine (可以直接用刚才编好的5.15的qmake呦)

输入 nmake (然后等着吧,几个小时)

如果没有报错,就可以愉快的

输入 nmake install

有一点我不确定,就是在上面输入C:\Qt\Qt-5.15.0\bin\qmake.exe d:\Qt\qtwebengine时,是否会把debug和release版本都编了。因为我在编译QtWebengine时还没有编译Qt的release版,所以编译出的QtWebengine也只有debug版。之后我又用C:\Qt\Qt-5.15.0\bin\qmake.exe -release d:\Qt\qtwebengine编译了QtWebengine的release版,才算补充完整。

4. Qt Creator和VS2019导入qmake

编译完Qt,就差最后一步了——如何在你的IDE中使用Qt5.15

Qt Creator就直接在“选项”中添加新的构建套件即可,VS2019(当然你首先要安装好QtTools For VS2019的插件)中也就直接在QtTools中选择qmake所在的路径即可(注意只需选到bin的上一级,它会在你给的路径后增加\bin\qmake.exe来搜索)

5. 编译后项目发布

以前一直都用windeployqt,现在这个exe仍在在Qt-5.15.0\bin中,直接按以前的方式使用即可

 

 

  • 15
    点赞
  • 85
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值