Qt程序运行提示“it could not find or load the QT platform plugin “windows””

打开exe运行程序是,弹窗提示:

Application failed to start because it could not find or load the QT platform plugin “windows”

其实可以比较容易定位是缺少Qt的dll库文件导致的。这通常由于发布了程序之后,运行的计算机里没有将Qt的库添加到默认的环境变量或者程序设定的搜索路径,也可能是运行平台并没有Qt的库。

网上提示的不少解决方法是,将Qt目录下的dll文件复制到exe同目录下。

这里也引用一下这个解决方法:

Qt5.6.2\5.6\msvc2013\plugins\中的platforms和imageformats这两个文件夹复制到exe同级目录下


实际上,如果你用了别人的程序,同时还不知道源码的状态下,通常很难知道依赖了哪些库。尤其是当使用了较多Qt功能时,这样可能会十分的麻烦。

网上还有一种方法,使用VC自带的depends分析依赖库,然后手动将dll拷贝到目录下


有效的解决方法:

Qt其实自带一个依赖包分析程序,这个程序可以帮助你定位你发布的程序所以来的Qt的库资源,自动将缺少的库拷贝到程序所在的目录。

这个Qt工具 windeployqt 位于Qt目录下的msvc\bin文件夹下。

请使用cmd命令行,在你有此问题的程序文件夹下,执行命令

c:\Qt\Qt5.2.1\5.2.1\msvc2010_opengl\bin\windeployqt.exe application.exe
这里假设application.exe是你的程序。

此时,windeployqt会自动拷贝需要的Qt库到application的目录。

结束之后,请再尝试运行程序,Qt库将不再报错。


PS:引用自stackoverflow

https://stackoverflow.com/questions/21268558/application-failed-to-start-because-it-could-not-find-or-load-the-qt-platform-pl

  • 18
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值