QT5静态库编译记录及资源库

编译环境:windows10,visual studio 2019,sdk 10.0.19xxx

说明

拿到了一个VS&QT开发的项目,刚开始安装QT5.14.2的exe版本安装程序和vs2019以及sdk10.0.19xxx,qtvs插件安装配置也没问题。使用vs导入后,没有报错,但是编译的时候会报多个类似的错误:
一种是无法打开源文件$(QTDIR)\plugins\iconengines\qsvgicond.lib。经过搜索后,本机不存在qsvgicond.lib,但是存在同名的qsvgicond.dll.
另外一种就是连同名的dll文件都不存在。经过搜索后发现,qt默认提供的是动态链接库形式的。
这里项目需要的是静态链接库,因而需要静态编译以构建项目中需要的.lib文件。

0x01 前置要求:

软件:

编译环境:我这里是visual studio 2019,sdk 10.0.19xxx。在installer运行时,点击修改,选择基于C++的桌面开发环境,SDK的话我这里装的是10.0.19xxx(查阅的一些资料讲要在10.0.18xxx及以上)
Perl: 下载最新版即可(https://strawberryperl.com/)
python:官方要求2.7及以后,我这里使用的是python3.8
jom:最新版即可。(非必须但建议)多核编译,用来提升编译速度,查的一些文档说nmake编译需要4个小时,使用jom后缩减到2小时。我这里的环境(CPU 2.5G*24)使用jom进行编译,只用了40分钟
ruby: 最新版即可(https://rubyinstaller.org/downloads/)。安装的过程中会出现三个框,一个是已经处于灰色的选中状态,另外两个框可以不用勾选,尤其是最后一个,可以看到它需要占用800+M。安装到最后一步请注意,它还会出现一个框让你去安装,内容是risk install,可以取消勾选,点击finish安装完成。
vs安装组件
ruby安装

源码

这里要注意QT和QTCreator是有区别的,通常安装QTCreator后,也要和vs一样要配置使用了什么版本的qt
我这里要编译的是QT 5.15.1版本的源码
QT源码地址:https://download.qt.io/archive/qt/

  1. 将下载来的源码进行解压,解压得到下面文件夹:
    e:\qt\qt-everywhere-src-5.15.1
  2. 另外新建两个目录
    e:\qt\qt-5.15.1-build // build目录
    e:\qt\qt-5.15.1-static // install目录

build目录是用来保存执行源码中的configure命令得到的结果,这样源码目录不会发生任何变动,方便进行编译不同版本
install目录是jom install或nmake install执行后,将编译完成的可执行程序和链接库等一系列资源复制到的目录(前提是在configure的时候设置了-prefix=“e:\qt\qt-5.15.1-static”)

0x02 编译

  1. 打开x86编译cmd
    vs x86 cmd
  2. 切换到build目录
    cd e:\qt\qt-5.15.1-build
  3. 配置生成makefile
    E:\qt\qt-everywhere-src-5.15.1\configure -confirm-license -opensource -debug-and-release -static -static-runtime -nomake examples -nomake tests -skip qtwebengine -qt-zlib -qt-libjpeg -qt-libpng -qt-freetype -qt-pcre -qt-harfbuzz -qt-sqlite -prefix e:\qt\qt-5.15.1-static
    说明:
    一些配置选项,详见参考的官方手册
  4. 编译
    jom // 最大利用CPU处理器能力,编译的机器配置24核*2.5G,花费40min。真是难得的用满CPU的时候
  5. 复制编译后的文件到指定的prefix目录
    jom install //将文件安装到指定的e:\qt\qt-5.15.1-static目录,8min
  6. 配置
    可以将e:\qt\qt-5.15.1-static目录复制到需要用到的地方,并进行配置。
    vsqt插件的话是在qt version里面添加qmake所在的目录。
    qt version
    qt version

0x03 使用

  1. vs市场中下在qt vs tools插件,在插件中配置qt目录

  2. vs打开项目,如果提示无法打开源文件,则需要修改项目属性,修改为包含特定源文件的SDK
    a. 项目属性->常规->widnows SDK版本
    b. win sdk 配置

  3. vs打开项目,如果提示未为项目设置qt version,则需要重新设置qt version,并apply,即使它已经显示在那里。

附件

附件:5.15.1&5.14.2静态库
链接:https://pan.baidu.com/s/1tjaA89ykqGL6p16Lgibv2Q
提取码:0519

参考资料:VS2013编译Qt5.6.0静态库
参考资料:precompiled-qt4-qt5
参考资料:vs2019编译Qt5.13.2
参考资料:vs2019+Qt5.15在线安装
参考资料:官方手册
参考资料:官方手册-前置要求
参考资料:官方手册-配置选项

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值