当前位置: 首页 > news >正文

【Qt问题】windeployqt如何提取Qt依赖库

往期回顾

【Qt问题】Qt Creator 如何链接第三方库-CSDN博客

【Qt问题】Qt 如何带参数启动外部进程-CSDN博客

【Qt问题】VS2019 Qt win32项目如何添加x64编译方式-CSDN博客

 【Qt问题】windeployqt如何提取Qt依赖库

考虑这个问题主要是:当我们的程序运行好之后,拿给别人用的时候,需要提取一些Qt的依赖库,此时如果靠自己去手动复制这些dll,很可能出错,所以qt官方给了一个工具帮我们做这个事情。

具体实现步骤如下:

1、先选择Release运行项目

先运行项目,注意此时不用再以Debug编译运行,而是选择Release

补充:debug和release版本编译运行的不同 

Release版本Debug版本
性能差异:Release版本通常会进行优化,以提高程序的性能和运行速度。相比之下,Debug版本通常包含更多的调试信息,可能会牺牲一些性能以便于调试和跟踪问题。
编译标志:Debug版本通常会包含调试信息、关闭优化等设置,而Release版本则会启用优化和去除调试信息。
输出文件:Debug版本的输出文件通常包含调试信息而Release版本的输出文件则会进行优化以提高性能。
运行行为:Debug版本包含更多的调试信息,可能会占用更多的内存和磁盘空间。Release版本则更适合最终部署和发布,因为它们通常具有更好的性能和较小的体积

一般来说:

Debug版本适用于开发和测试阶段,能够提供更多的调试信息和便于定位问题;而Release版本适用于性能优化、部署和发布阶段,能够提供更好的性能和用户体验。 

2、查看生成的release文件

此时项目目录下会生成一个release文件夹,build-10_1_QProcess-Qt_5_15_2_msvc2019-Release

打开运行后生成的release文件夹,此时里面会有一个exe程序,此时运行估计是会报错的,

我这里双击直接运行成功是因为我之前已经打包过了:

 3、添加系统变量

找到windeployqt.exe路径,添加到系统变量,一般是在版本的bin目录下。

4、单独存放生成的exe程序

回到release文件夹,把生成的exe程序拿出来,单独放到一个文件夹里 

然后在该文件夹运行cmd,输入命令:windeployqt  项目名

我这里是:windeployqt  10_1_QProcess.exe

 

运行windeployqt可能遇到如下警告

Warning: Cannot find Visual Studio installation directory, VCINSTALLDIR is not set 

解决办法:

新建环境变量:VCINSTALLDIR
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC 

 

此时就会发现文件夹里生成了我们需要的一堆依赖文件

 

5、验证是否打包成功

最后,把这个文件夹发给别人,如果他们电脑上没有qt环境,也可以运行,说明打包成功。


有用的打包知识又增加了~   

http://www.lryc.cn/news/344305.html

相关文章:

  • VS2019下使用MFC完成科技项目管理系统
  • 【Android】Kotlin学习之数据容器(数组for循环遍历)
  • JavaWeb_请求响应_简单参数实体参数
  • windows端口复用
  • [Redis] 使用布隆过滤器和分布式锁实现用户注册
  • Okhttp 发送https请求,忽略ssl认证
  • IT项目管理-大题【太原理工大学】
  • 【代码随想录】day48
  • 【补充】1-auth的使用、扩写auth的user表、django支持缓存
  • 力扣-21. 合并两个有序链表-js实现
  • tensorflow报错
  • 企业数字化转型走向平台化运营会经历哪些阶段?
  • 最新AI实景自动无人直播软件教你实现24小时不下播带货;智能化引领直播新时代
  • 《二十一》QT QML编程基础
  • 免费的发票查验接口平台 PHP开发示例
  • 10、算数运算符(以 ‘/’、‘%’、‘++’为主去讲解)(Java超详细版本)
  • 向量数据库:PGVector
  • redux实现原理
  • 【go项目01_学习记录04】
  • HCIP第二节
  • Ubuntu MATE系统下WPS显示错位
  • Mysql进阶-索引篇
  • 【算法系列】哈希表
  • Git推送本地项目到gitee远程仓库
  • 一键复制:基于vue实现的tab切换效果
  • 新手做抖音小店,卖什么最容易出单?抖音必爆类目来了!
  • 男人圣经 10
  • 如何让路由器分配固定网段(网络号)ip
  • Q1保健品线上市场分析(三):牛初乳市场扩张,同比去年增长54%
  • 使用docker-compose编排Lnmp(dockerfile) 完成Wordpress