当前位置:   article > 正文

问题解决:it could not find or load the Qt platform plugin "windows"_could not find or load the qt platform plugin wind

could not find or load the qt platform plugin windows

问题:在使用Qt5.3.2编写程序并release,文件夹中已经添加了必要的dll,但在其他机子上运行程序失败,出现了下面的情况:

这里写图片描述

解决方法一:在C:\Qt\Qt5.3.2\5.3中进入mingw482_32文件夹,将plugins\platforms整个目录复制exe执行文件所在的文件夹目录中,程序即可运行。

以下是网上几个其他方法的总结:

解决方法二:复制你exe需要的qt插件,首先要在源程序中的main函数中加上QApplication::addLibraryPath(“./plugins”);

把C:\Qt\Qt5.3.2\5.3\mingw482_32\plugins\里的dll复制到exe执行文件目录就OK了。

比如程序在自己机子上运行正常,拷贝到其他电脑后一些图片无法显示可尝试这种方法。这时可能的解决方案是,进入exe文件所在目录底下新建文件夹imageformats, 然后去QT的plugins下imageformats文件夹下拷贝相应的图片编码的dll和lib。例如在程序中用到的图片是jpg格式的,就复制qjpeg.dll 和qjpeg.lib过去。

解决方法三:使用Process Explorer查看程序所使用的dll

Process Explorer是一个很有用的工具。由Sysinternals开发的Windows系统和应用程序监视工具,目前已并入微软旗下。不仅结合了Filemon(文件监视器)和Regmon(注册表监视器)两个工具的功能,还增加了多项重要的增强功能。包括稳定性和性能改进、强大的过滤选项、修正的进程树对话框(增加了进程存活时间图表)、可根据点击位置变换的右击菜单过滤条目、集成带源代码存储的堆栈跟踪对话框、更快的堆栈跟踪、可在 64位 Windows 上加载 32位 日志文件的能力、监视映像(dll和内核模式驱动程序)加载、系统引导时记录所有操作等。(来自百度百科的解释)

既然可以监视dll,那么在发布程序前,可以用Qt Creator运行将要发布的程序,在Process Explorer中查看exe使用的dll,一般来说,程序运行失败很可能就是少了对应的dll文件。

这是我用qt发布一个简单程序所需要的dll列表:

这里写图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/99500
推荐阅读
相关标签
  

闽ICP备14008679号