【QT】项目打包发布流程总结

测试环境:win11 & mingw64 & qt6_6_1

完成时间:2024/3/10

先在本机检查缺少的依赖项

  1. 先将可执行程序复制到一个新的目录,用于存放打包文件;
  2. 双击可执行程序,将会出现一些QT动态库找不到的提示弹窗;

以上3个动态库是最常见的窗体应用所依赖的:Qt6Core.dll、Qt6Widgets.dll、Qt6Gui.dll

拷贝上面三个最基础的依赖项:

进入QT安装目录,定位到编译器目录:/Qt/6.6.1/mingw_64,在bin目录下找到它们,并将它们与可执行程序放在同一级目录;

再次双击,运行:

提示缺少QT平台插件之类的,在编译器目录下,找到子目录plugins并将其拷贝到发布文件夹。

再次运行,成功。 

找一台新的测试机

在集成了本地测试中发现的依赖项之后,将整个目录拷贝到独立的测试机,重复运行,又找出3个更底层的依赖项:libgcc_s_seh-1.dll、libstdc++-6.dll、libwinpthread-1.dll

补充

关于dumpbin

使用visual studio工具dumpbin,可以查看二进制的依赖项,但它并没有区分层级,将一些更底层的依赖也包含进来了,但是这些我们可能并不需要。同时,它也做不到linux环境下的ldd命令那样,提示出来是否能找到并显示其绝对路径。

 关于windeployqt

左侧的目录是搜索出来的原始状态,体积大致有60多兆,右侧在一台新创建的win11虚拟机上实测出来的可用状态,体积减小到30多兆。

建议:可以将右侧这个目录,作为一个基于mingw64开发的普通程序的发布模板,后续新程序的发布,只需要在此基础上将可执行文件替换掉,并添加一些必要的新模块,就能直接打包发布了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值