Qt platform plugin 'windows'
关于Qt 发布程序时遇到qt platform plugin ‘windows’问题的解决方法如下
debug遇到的问题如下
release遇到问题如下
遇到这个问题,一般应该已经把一部分dll拷贝到了发布的可执行文件同级目录,
我是直接添加D:\Qt\Qt5.5.1\5.5\msvc2013\plugins\目录下 platforms文件夹整体复制过去了,问题到此解决,,,
可以参考一篇博客
http://blog.****.net/jh1513/article/details/52262115
也可参考
http://www.cnblogs.com/mmix2009/p/3536825.html
http://blog.****.net/u013360881/article/details/51009704
我把第一篇文章部分内容复制如下
这篇文章对我帮助很大
1.首先要搞清楚动态链接库还是静态链接
本文只涉及动态链接库,就是编译出来的exe文件加上Qt 的必要dll文件。
一般跟别人一样的操作,直接双击 XX.exe,提示缺少什么dll,就去Qt的安装目录下的bin文件夹里去找。我找的目录是D:\Qt\Qt5.2.0\5.2.0\msvc2010\bin
- 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文件中,直接进行。应该可以。