Qt5中this application has requested the runtime to terminate it in an unusual way 无法运行问题的解决
在windows平台使用Qt5.8mingw版写出的程序,在Qt中运行正常,而以release的形式编译并且补充完必要的dll文件后,在其他电脑上运行出现了以下问题:
经过查阅许多资料和亲身实验,终于解决了这一问题,简单的说,需要在含exe程序的文件夹中新建platforms文件夹,并且在里面添加qwindows.dll文件,qwindows.dll文件的具体路径是Qt\Qt5.8.0\5.8\mingw53_32\plugins\platforms,Qt文件夹所在的具体盘符与安装的路径有关,默认在C盘根目录,含exe程序的文件夹如下。
经过亲手实验,此种方案运行正常且没有多余的文件,体积较小。
如果程序仍不能正常运行,如果程序中有其他资源,根据具体资源加入Qt\Qt5.8.0\5.8\mingw53_32\plugins中相应的文件夹,去掉其中不需要的dll,比如如果程序中有图片资源且不能运行,则在exe目录(与platforms同级目录)下新建名为imageformats加入相应的dll文件。。
不能解决可参考以下备用方案:
- 在platforms放入qminimal.dll和qwindows.dll两个文件,可以根据需要在Qt\Qt5.8.0\5.8\mingw53_32\plugins中拷贝相应的文件夹,去掉其中不需要的dll。
- 在platforms放入qminimal.dll、qminimald.dll、qwindows.dll、qwindowsd.dll文件。
- 在exe文件夹中放入libEGL.dll文件,在platforms放入qwindows.dll文件,根据具体资源加入Qt\Qt5.8.0\5.8\mingw53_32\plugins中的文件夹,去掉其中不需要的dll。
参考文献
[1]cupidove.(转)Qt5.0.2 + MinGW编译出来的程序发布.http://blog.csdn.net/cupidove/article/details/9343673
[2]praveen_kumar,mustaphamni.https://forum.qt.io/topic/24553/this-application-has-requested-the-runtime-to-terminate-it-in-an-unusual-way/14
本文为保持文章完整性可能使用了其他作者的文字,如果影响到您的权益,请与我联系,谢谢理解!
转载本文请注明出处,非作者授权不得用于商业用途。