• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

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

武飞扬头像
JC0o0l
帮助1

编译环境: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安装完成。
学新通
学新通

源码

这里要注意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
    学新通
  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所在的目录。
    学新通
    学新通

0x03 使用

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

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

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

附件

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

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

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhggebef
系列文章
更多 icon
同类精品
更多 icon
继续加载