在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

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐