700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Qt打包生成exe: 无法定位程序输入点

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

时间:2021-09-17 00:24:36

相关推荐

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。精简版的如下:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。