栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

Qt 6.2静态编译与使用(详解版)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Qt 6.2静态编译与使用(详解版)

文章目录
  • 前言
  • 一、参考资料
  • 二、环境搭建
    • 1.安装VS
    • 2.安装cmake
    • 3.安装ninja
    • 4.安装perl
    • 5.安装python
    • 6.下载Qt源码
    • 7.测试编译环境
  • 三、开始编译
  • 四、编译器中使用编译好的Qt静态库
    • 1.Qt creater中使用
    • 2.VS中使用
  • 五、注意事项
  • 六、下载我编译好的库或Qt编译工具


前言

因为Qt正常下载只提供动态库,所以每次写好软件,还需要打包一大堆动态库,很麻烦,所以就想要尝试编译一下静态库

这也是我第一次编译开源项目,而且还是这种超大型的开源项目,失败了相当多次,也看了网上其他博主写的文章,不敢说有什么错误,但总给我一种说的不清不楚的感觉,而且在他们简单的几句步骤中,我就遇到了相当多的问题

于是我又自己去官网研究,大概花了两天左右的时间才大概搞懂了(主要是编译太耗时了,我电脑性能又不是很好,编译一次就得花几个小时,中间还容易出各种各样的错误导致失败,真是太难了╯︿╰)

但最后终于还是成功了,所以便记录一下

因为目前最新的长期支持版本就是6.2,所以就拿目前的最新版6.2.4版本试手了

一、参考资料

我主要参考的是Qt官方网页的资料,但由于其Windows方面的编译资料写的真有点不清楚,而且还是全英文,对于新手实在不友好,加之很多细节都没有描述到,只能自己琢磨。

环境搭建参考:这里

编译命令参考:这个和这个

二、环境搭建

注意:下面有一些软件是在外网,所以如果你没那方法的话,会下载的很慢很慢……可以直接去文末下载我已经下好的所有Qt编译所需工具的安装包,VS除外,因为国内下载VS我发现速度还挺快的,应该就不用了

1.安装VS

点击这里下载VS2019

官方说的需要VS2019或2022,但2022目前还是预览状态,不清楚会不会出问题,所以我就用2019了

安装完VS还必须安装C++开发环境,只要能正常运行C++程序就没问题

2.安装cmake

下载cmake,点这里

下载上面的安装版本

其它安装过程就不说了,一直点就行了,只是注意一下下面这个步骤,选择第二个,添加到系统环境变量中

3.安装ninja

点击这里去下载


解压后就是一个exe文件,特地为它加个环境变量有点大可不必了,所以我就直接把它移动到了系统盘路径里面

C:WINDOWSsystem32

4.安装perl

点击这里去下载

现在一般都是64位电脑,就直接下载64位即可

这个软件一路点击安装即可,好像是自动添加到系统环境变量的

5.安装python

点击这里下载


下载完点击安装即可,也是自动添加到系统环境变量的

6.下载Qt源码

如果你安装了Qt6.2等版本并在安装的时候勾选了源码,就不用下载了,可以在Qt安装目录的文件夹中找到源码

如果没有下,就可以去清华镜像官网下载,点击这里

下载Qt源码解压后,建议将文件夹名字改为Src,保持与下文一致,当然不改其实也没有影响,但要注意将后面的命令路径自行更改一下。

7.测试编译环境

注意,由于上面那些软件将自己的路径加在了系统环境变量,所以想要生效需要电脑重启一下

在开始菜单中找到下图选择,点击进入

依次输入下面的命令

python -V
perl -v
cmake --version
ninja --version


能打印出来版本就说明环境没有问题

三、开始编译

注意,要进行编译的盘剩余容量一定要大于110G,最好120G往上,不然可能会爆盘的,亲测

在源码文件所在文件夹,新建一个build文件夹(也可以自己随便取名字,不影响,但如果和我不一样后面就需要自己更改命令路径等)

在上面打开的VS命令行中,进入build文件夹

然后设置环境变量:

set PATH=D:Qt6.2.4buildqtbasebin;%PATH%

D:Qt6.2.4buildqtbasebin: 这个路径的qtbasebin不要更改,前面的内容为前面新建的build文件夹的路径

然后执行下面的命令:

..Srcconfigure.bat  -static -prefix "D:Qt6.2.4-static"  -debug-and-release -platform win32-msvc
  • …Srcconfigure.bat:这个是源码文件中的脚本文件,Src就是源码文件名,如果是其它名称请自行修改
  • -static:指定静态编译
  • -prefix “D:Qt6.2.4-static” :指定编译完成后的安装路径,我就选择安装在Qt目录下的6.2.4-static文件夹中,该文件夹不用事先创建,安装的时候会自行创建,你也可以选择自己的安装路径
  • -debug-and-release:编译调试和发行两个版本,
  • platform:选择编译平台,为win32

更多命令可参考这里

脚本配置成功之后大概如下图:

然后就是运行编译命令了

cmake --build . --parallel 3

前面是固定的,后面–parallel跟着的是工作数量,数量越多,编译越快,但太多会影响电脑运行,导致卡顿如果后面不加数字,则自动适配工作数量
经过我的观察,可能是官方的编译脚本文件出了问题(也可能是我电脑问题),当多个线程共同作业时,会导致某些程序还未完成编译,从而导致另外一些线程缺少编译程序,从而被迫停止编译

这种错误可以不予理会,重新输入上述命令即可,会继续上次编译,如果多次出错,可以将数字改为1,基本就不会出错了,但是会很慢很慢……

cmake --build . --parallel 1

至少我的电脑上,用一个线程,整个编译过程基本就不会出错,只是编译的时间有点长

然后就是慢慢等编译了


等前面的数字跑完了,就编译好了,然后就是安装命令,注意最后有个点

cmake --install .


等待片刻,安装完成

我这本来还有100多个G的D盘,差点就爆了藍

然后就可以删除build文件夹,就恢复了

四、编译器中使用编译好的Qt静态库 1.Qt creater中使用

进入工具,选项

选择Kits ,Qt Version 添加库

顺着进入静态库目录中,选择qmake,打开

返回后,点击应用

来到kits选择,添加编译环境

给该编译环境取一个名字,选择刚才添加的静态库版本,点击确认

随便打开一个项目,或者新建一个项目,然后选择旁边的6.2.4-static(上面给它取的名字),点击一下就能用了

然后就可以选择debug或release进行构建

2.VS中使用

点击扩展,管理扩展

搜索Qt,安装下面这个扩展,下载后,重启VS进行安装

然后就能在扩展上看到该扩展,点击进入options

点击versions,添加新的Qt版本

点击文件夹,选择Qt版本

选择编译好的静态版本

成功后,点击确认

选择Qt 项目设置

选择静态版本

点击确认,就可以在项目中使用了

五、注意事项

上面添加后进行编译项目,可能会出现错误,有时候是release版本出错,有时是debug版本出错,这个时候基本就只能重新来过了

如果只是其中的一个版本出错,在构建的时候就可以只选择其中一个进行编译

如debug错误,删除build文件夹中的内容,重新构建debug版本

..Srcconfigure.bat  -static -prefix "D:Qt6.2.4-static"  -debug -platform win32-msvc

或者重新构建release版本

..Srcconfigure.bat  -static -prefix "D:Qt6.2.4-static" -release -platform win32-msvc

构建后进行编译

cmake --build . --parallel 3

然后重新安装

cmake --install .

就这样反复折磨,直到成功……

六、下载我编译好的库或Qt编译工具

进入下面的公众号

输入关键字

Qt编译工具

Qt静态库

获取链接

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/887384.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号