• 4325阅读
  • 4回复

[提问]关于Qt5.5.0发布的问题 [复制链接]

上一主题 下一主题
离线jerryyuan
 

只看楼主 倒序阅读 楼主  发表于: 2015-09-27
我用的是Qt 5.5.0版本,写了个小程序,然后用windeployqt凑齐了所有的dll,但是拷到其他电脑上(没装Qt)之后,运行却提示:
This application failed to start because it coulld not find or load the Qt platform plugin "windows".
Reinstalling the application may fix this problem.
网上有说是没有拷贝platforms文件夹的原因,但是程序文件夹里确实有这个文件夹,里面也确实有qwindows.dll,一点也不少.
网上还有说可以用QApplication::addLibraryPath来添加plugins的目录,但是发现根本没用,依旧是弹出这个框子.
网上还有说用qt.conf来复写插件目录,最后无用...
不知道到底是哪里出了问题,理论上我用windeployqt来生成的程序包不应该会少东西,连翻译人家都给准备好了,但是就是弹不出来框.
点击确定后,又弹出了一个Runtime Error的提示框.
另外网上有说用静态编译的,没咋看懂怎么弄,在Qt Creator中怎么调呢?
我的Qt Creator:
Qt Creator 3.4.2 (opensourse)
Based on Qt 5.5.0 (MSVC 2013,32 bit)
Built on Jun 29 2015 01:56:58
来自修订版本 b57ac109a2

最后感谢各位大神能耐心读完我的帖子,也希望各位大神能够赐教!
离线jerryyuan

只看该作者 1楼 发表于: 2015-09-27
我用的是MinGW来编译的.
离线suchaoyong

只看该作者 2楼 发表于: 2015-09-27
你没有打包完全 ,,,windeployqt,,除了dll,还有二三个文件夹要打包。。。。
在线fsu0413

只看该作者 3楼 发表于: 2015-09-28
可能你的代码里有全局的Qt库类的对象,它们在初始化的时候会链接插件,而此时插件并未初始化。
排查一下吧,我最近也是出了这个问题,刚刚解决的。
离线johnyork

只看该作者 4楼 发表于: 2015-09-30
窃以为应该是Qt核心程序中插件搜索路径的问题,这是个老毛病了,但貌似Qt团队的大神们并不在意这个。
我是在Qt 5.4.2版遇到过类似的问题,不过是我自己用MinGW编译器编译的版本,出问题时程序提示和你的一模一样,但是是在QtCreator中运行程序时提示,最后发狠用DEBUG版Qt深入跟踪进核心库才摸清问题所在。
不知道你用的Qt是不是官网下载的版本,照理说官网的版本发布程序出这样问题的概率应该比较小,但也不能完全保证,毕竟开源的东西不比商业的,后者不做好谁愿意给钱买?
解决问题的办法嘛……你可以试试我在CSDN的Qt论坛上的一个帖子 中给出的办法,不过因为现象不一样,不敢保证成功。
快速回复
限100 字节
 
上一个 下一个