Qt platform plugin 'windows'

关于Qt 发布程序时遇到qt platform plugin ‘windows’问题的解决方法如下 

debug遇到的问题如下 
Qt platform plugin 'windows'_第1张图片

release遇到问题如下 
Qt platform plugin 'windows'_第2张图片

遇到这个问题,一般应该已经把一部分dll拷贝到了发布的可执行文件同级目录, 
我是直接添加D:\Qt\Qt5.5.1\5.5\msvc2013\plugins\目录下 platforms文件夹整体复制过去了,问题到此解决,,, 
Qt platform plugin 'windows'_第3张图片

可以参考一篇博客 
http://blog.csdn.net/jh1513/article/details/52262115

也可参考 
http://www.cnblogs.com/mmix2009/p/3536825.html 
http://blog.csdn.net/u013360881/article/details/51009704

我把第一篇文章部分内容复制如下

这篇文章对我帮助很大

1.首先要搞清楚动态链接库还是静态链接 
本文只涉及动态链接库,就是编译出来的exe文件加上Qt 的必要dll文件。

一般跟别人一样的操作,直接双击 XX.exe,提示缺少什么dll,就去Qt的安装目录下的bin文件夹里去找。我找的目录是D:\Qt\Qt5.2.0\5.2.0\msvc2010\bin

  1. This application failed to start because it could not find or load the Qt platform plugin “windows”

复制所需的dll后,提示了这个错误。这个错误的解决方案是:

1.可能缺少复制 libEGL.dll

2.需要把D:\Qt\Qt5.2.0\5.2.0\msvc2010\plugins\platforms\qwindows.dll,带红色的复制到你的exe执行文件目录。就是platforms文件夹,里面一个qwindows.dll

3.复制你exe需要的qt插件

首先要在程序中的 main函数中加上 QApplication::addLibraryPath(“./plugins”); 
我写的Qt程序只用到了image插件,需要把 D:\Qt\Qt5.2.0\5.2.0\msvc2010\plugins\imageformats,带红色的文件夹包括imageformats里的大部分dll复制到exe执行文件目录就OK了,如果用到数据库插件等,也要复制。

4.使用Process Explorer 查看exe使用的dll 
发布我的程序TextureUnpacker时,Process Explorer帮助非常大,我们用Qt Creator 运行我们将要发布的程序时,就可以用 Process Explorer 查看exe使用的dll了,除了C:windows\system32的中的像下图红框中的就要关注了,程序运行失败很可能就是少了对应的dll文件。

目前可以尝试: 把platforms文件夹 和对应的dll都copy到 release文件中,直接进行。应该可以。

你可能感兴趣的:(QT)