• This application failed to start because it could not find or load the Qt platform plugin “... 分类: QT学习实践 2015-05-17 18:21 44人阅读 评论(0) 收藏


    这是一个困扰我很久的问题,关于Qt下生成的exe文件在没有安装Qt的机器上无法运行的问题。 
    Qt是编写C++图形界面的一个很好工具,比MFC来的直观。可是,Qt的安装却是一个让人头疼的事情。早在上个学期,我就在windows XP 系统下安装了Qt 4.8,用破解版的msvc 2010编译。安装过程中出现了多次“configure is not an internal or external command”之类的问题,安装卸载了多次,好在最后可以使用。之后又安装了破解版的ipp包,当我把生成的exe文件移到另一台电脑上安装使用时,总是提示缺少dll,或者XXX错误。鉴于都是破解版的软件,我不知道究竟是路径添加的问题,还是dll文件的问题,还是破解版的缘故。最后还是不了了之。 
    上个星期天,突然又想到了Qt,重新下载安装Qt5.1.1,操作系统是Windows 7 64bit 加上msvc2012。我用了一个example做实验,用inno setup打包生成安装文件包,U盘拷到另一台电脑,安装,运行,又是错误!!! 
    先提示缺少各种XXX.dll文件,按照dependency walker的提示一个个都加上,“苍蝇”错误被一网打尽。然后,出来了一个“老虎”级别的错误!见截图。和老虎斗争一个下午,元气大伤,败下阵来。 
    This application failed to start because it could not find or load the Qt platform plugin
    今天晚上开始第二阶段斗争,Google、stackoverflow上面的帖子,Qt自己的文档反复看了几遍,发现两个方法。第一,因为错误提示是和platform有关,有人建议把plugins/platform这个文件夹原封不动地复制到安装包里,不改变文件结构,就像下图这样。照做,问题依旧存在。又有人说提示缺少’windows’ platform,把platform文件夹里多余的dll文件都删去,但还是不行。 
    Capture
    另一个人提到,安装包里还要包含libEGL.dll和libEGLd.dll文件,原因是他们要和libGLESv2.dll在一起。。。libGLESv2.dll缺少是提示报错的,但没有提示需要libEGL.dll和libEGLd.dll。然后,就把他们两个放进去了(好像只要放一个就够了,具体哪一个我已经分不清了),窗口轻松弹出,运行正常。 
    折腾了两个晚上,问题总算还是得到解决。
  • 相关阅读:
    Java中Collection和Collections的区别
    网站
    window.load 和$(document).ready() 、window.load和body onload区别
    『jQuery』.html(),.text()和.val()的使用
    jQuery选择器总结
    ios开发--编码格式
    iOS开发--基于AFNetWorking3.0的图片缓存分析
    iOS开发--沙盒路径与操作文件
    ios开发--第三方整理
    iOS 网络处理注意点
  • 原文地址:https://www.cnblogs.com/zclzqbx/p/4687134.html
Copyright © 2020-2023  润新知