Qt Vs 开发程序打包发布(包含很多第三方库的)

本文详细介绍了如何使用Qt5进行应用程序部署,包括使用windeployqt工具简化打包流程,以及三种方法来确定并复制exe所需的所有动态库,确保程序在目标系统上的顺利运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

做个记录

1.准备工作

1.1 打开 Qt 5.9.2 64-bit for DeskTop(MSVC 2015)

1.2 使用“cd 路径” 命令进入到一个新文件夹,该新文件夹内部存放Release 版本的**.exe 文件。本例中将生成的可执行文件testPackage.exe 复制到了

D:\Users\angzh \Desktop\O3dPackage文件下

2.Qt打包

 Qt 命令行执行 windeployqt 工具,输入: “windeployqt ***.exe” 就完成了。

3. 拷贝exe需要的动态库

注意:第三方库调用第三方库也要复制过来

      比如 :使用到了osg,那么osg需要的第三方库也要拷过来,否则还是运行不起来。

                osg的osgPlugins这个文件也要复制到exe所在文件夹。

方法一:

打开 vs2015 x64 本机命令提示符

进入到 刚才存放**.exe的新文件的位置,输入命令:

D:\Users\angzh\Desktop\O3dPackage>dumpbin /IMPORTS ****.exe > output1.txt

O3dPackage在文件内生成output.txt, 打开output.txt,就会看到可执行文件调用的所有动态库:

找到各个**.dll 复制到O3dPackage 文件下即可。可以使用Everything工具查找。

方法二:

如果动态库有很多那么复制起来很麻烦,可以使用window的批处理:

通过观察程序运行时Vs输出窗口中加载的dll库:

这样加载的dll库就一目了然了,也有路径。写一个.bat文件

这样复制就完成了。

方法三:

      使用Dependency Wallker 打开***.exe 查找不存在的.dll,其中黄色的问号标识是不存在的。Dependency Wallker可以递归显示可执行文件(exe)和动态库(dll)调用的动态库。

      打开**.exe文件之后各个节点可能是展开的很乱,可以右击任意节点选择“折叠所有(L)”,然后再单击根节点的加号展开就是如图所示的样式,这样很清晰。

如果还想看到QGIS_CORE.DLL调用的动态库,右击选择“在外部查看器中查看”

就会弹出一个关于QGIS_CORE.DLL调用的动态库的新窗口,其中黄色问号是没有链接上,把黄色缺失库的找到拷在**.exe 所在路径下即可。

参考:https://blog.youkuaiyun.com/su_unknown_world/article/details/82317637

只是在其基础上补充了一点

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值