Qt5 中发布程序遇到could not find or load the Qt platform plugin "windows"

~~~~我的生活,我的点点滴滴!!

转至http://www.cnblogs.com/mmix2009/p/3536825.html 图片什么的我也懒得自己截了。

Qt5也出来一段时间了,改变很大,又添加了很多新功能,有了for android for ios for wp等,感觉好高大上啊,这里我们先不说 移动平台的,我们在这里普及一些程序发布时常见错误,在windows上程序发布时我们需要把动态链接库dll全带上,但是当我们带上后,双击exe后,发现报错



一般这种在本机上运行好好的,在别人那里运行不起来,就是缺少dll,而正常的qt的dll,我们只需要去qt的lib下面复制就行,直接与exe放在同目录下就行,但是对于plugin下的,我们要注意了,需要连文件夹一起复制过来,不能直接和exe同级,例如上面问题就是缺少qwindows.dll

这个dll, 这个dll在qt4是没有的,qt5新出的,所以我们进入下面目录去复制

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

很多时间也许你复制了他还是不好使用,因为有可能你还使用了其他的插件,大家可以去plugin下看看,好多插件的,我们依次照上面的方法复制文件夹到自己的exe目录下,然后在main中添加代码

QApplication::addLibraryPath("./plugins");

我写的Qt程序只用到了image插件,需要把 D:\Qt\Qt5.2.0\5.2.0\msvc2010\plugins\imageformats,带红色的文件夹包括imageformats里的大部分dll复制到exe执行文件目录就OK了,如果用到数据库插件等,也要复制。

有人说我们怎么知道我们的程序哪些dll是被需要的?我们可以使用vc自带的一个工具Depends 使用他打开exe就能列出所需要的dll,这里我不科普他了,我们用一个新的、功能更强大的工具------>Process Explorer

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


最后我们看看我们发布程序的布局


其实原理和qt4发布程序时一样的。

附上process explorer的下载地址 


  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值