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安装完成。
源码
这里要注意QT和QTCreator是有区别的,通常安装QTCreator后,也要和vs一样要配置使用了什么版本的qt
我这里要编译的是QT 5.15.1版本的源码
QT源码地址:https://download.qt.io/archive/qt/
- 将下载来的源码进行解压,解压得到下面文件夹:
e:\qt\qt-everywhere-src-5.15.1 - 另外新建两个目录
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 编译
- 打开x86编译cmd
- 切换到build目录
cd e:\qt\qt-5.15.1-build - 配置生成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
说明:
一些配置选项,详见参考的官方手册 - 编译
jom // 最大利用CPU处理器能力,编译的机器配置24核*2.5G,花费40min。真是难得的用满CPU的时候 - 复制编译后的文件到指定的prefix目录
jom install //将文件安装到指定的e:\qt\qt-5.15.1-static目录,8min - 配置
可以将e:\qt\qt-5.15.1-static目录复制到需要用到的地方,并进行配置。
vsqt插件的话是在qt version里面添加qmake所在的目录。
0x03 使用
-
vs市场中下在qt vs tools插件,在插件中配置qt目录
-
vs打开项目,如果提示无法打开源文件,则需要修改项目属性,修改为包含特定源文件的SDK
a. 项目属性->常规->widnows SDK版本
b. -
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
-
Visual Studio 2022 首次安装出现 fatal error C1083: 没办法打开包括文件:“crtdbg.h”: No such file or directory
-
这才是完美的答案--解决CMake时“could not find any instance of Visual Studio”的问题
-
visual studio 2022VS 2022没办法读取内存的问题
-
opencv4.5.4 + VS2022 的开发环境搭建
-
使用visual studio 2022 启动后台程序的报错 ID为xxx的进程当前未运行
-
C++使用boost::filesystem实现遍历文件夹内文件
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13