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文件。。 

  

  不能解决可参考以下备用方案:

  1. 在platforms放入qminimal.dll和qwindows.dll两个文件,可以根据需要在Qt\Qt5.8.0\5.8\mingw53_32\plugins中拷贝相应的文件夹,去掉其中不需要的dll。
  2. 在platforms放入qminimal.dll、qminimald.dll、qwindows.dll、qwindowsd.dll文件。
  3. 在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

 

posted @ 2017-04-11 16:00  静世孔明  阅读(11954)  评论(0编辑  收藏  举报