今天刚开始学习Qt,虽然在编译器上可以成功运行,但其生成的exe文件却始终运行不了...
刚开始是提示我计算机中丢失Qt5Core.dll等等,如图:
最后的解决办法有两种,
1. 在系统环境变量中配置形如 E:\Qt\Qt5.6.2\5.6\mingw49_32\bin
2.手动去bin路径,把所有缺失的dll放在exe文件的路径下
但这并没有结束,接下来我遇到了下面这个问题,如图。。。
我查了很多方法,都不能解决这个问题。。。
但最后还是查到了,那就是环境变量排序的问题?!我试着把Qt的环境变量上移,这个错误马上就解决了!
看见没,罪魁祸首就是GtkSharp,至于它是啥,为什么会出这个问题。。等有时间再仔细研究
但你以为这就结束了?接下来是这个错误,如图:
不过这个问题好解决,因为在我解决上一个问题时无意间得到了这个问题的解决方法,这个问题实际上还是缺失dll动态链接库造成的,这些dll并不在Qt的bin文件夹中,
解决方法是这个,在你要执行的exe文件路径下,创建一个bat批处理文件,并编辑它,内容如下:
路径和文件名自己改,执行之后会发现路径下出现了一些文件夹和dll文件,文件夹中的也是dll,这回再执行exe文件,就真的没问题了!当时我差点哭了。。。。
问题解决了,但文件夹里会存在很多文件,可以用打包程序把他们打包起来,这就不着急了
Qt生成exe文件常见错误及解决办法
在使用Qt学习过程中,遇到exe运行报错,提示缺失Qt5Core.dll等动态链接库。尝试通过配置环境变量和复制dll到exe同路径解决,但后续又出现_cxa_atexit找不到入口点的问题。最终发现是环境变量排序导致,将Qt相关路径提前后问题解决。然而,新的问题接踵而至,再次因缺失dll导致错误。通过创建批处理脚本自动复制dll到exe路径,成功运行。为避免大量dll文件,可考虑使用打包程序进行整理。
1650

被折叠的 条评论
为什么被折叠?



