Qt打包生成exe: 无法定位程序输入点

问题现象

编译完成后,直接执行会提示系统错误:找不到Qt5Gui和Qt5Core.dll等动态库。

 解决措施

使用windeployqt.exe打包工具,一次性收集所需要的dll文件,与exe文件一起发布。

先编译出release版本的exe文件,拷贝至一个空的文件夹中。

再执行windeployqt.exe

注意:用哪个工具编译的(mingw或者Visual Studio等),就调用对应的bin目录下面的windeployqt程序。

然后,所需要的dll都被拷贝过来了:

问题现象

还缺少一个libwinpthread-1.dll

解决措施

 直接到bin目录下手动拷贝一下吧:

源路径:D:\Qt\5.15.2\mingw81_32\bin\libwinpthread-1.dll

拷贝后:

问题现象

无法定位程序输入点

 解决措施

手动拷贝libstdc++-6.dll,替换原来的同名文件。

原因分析

 比较了一个2个版本的libstdc++-6.dll,发现内容大小确实不一样。

 那么,不正确的那个dll文件是从哪里来的呢?

用everything搜了一下:在C:\MinGW\bin下面有一个,

 原因应该就是,windeployqt.exe工具发现exe文件需要libstdc++-6.dll,然后就根据系统PATH目录的配置去搜索。第一个就找到了C:\MinGW\bin\libstdc++-6.dll这个文件。

因此,网上找到很多方法是去更改PATH配置,让windeployqt.exe工具搜到正确的libstdc++-6.dll

补充说明

其实,也用不上那么多dll。精简版的如下:

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值