c ++ - Qt 5.1.1:应用程序无法启动,因为缺少平台插件“windows”
编辑:有些人开始将我的问题标记为重复。 当我问这个问题时,不要忘记存在许多类似的问题(参见下面的列表)。 但是,这些答案都没有解决我的问题。 经过长时间的搜索后,我发现了一条评论,该评论被指向缺少的lib的所有用户忽略。 现在,几个月后,评论已经改为答案。 然而,当我自己回答这个问题时,我打算通过直接提供解决方案来帮助其他人。 这不应该被遗忘,到目前为止,我的答案帮助了很多人。 因此,我的问题绝对不是重复的。 顺便说一句:在顶部提供的链接中接受的答案并没有解决问题!
是的,我使用了搜索:
无法加载平台插件“windows”。 可用平台有:错误
从Visual Studio qwindows.dll错误部署Qt C ++应用程序
无法加载平台插件“windows”可用平台是:windows,minimal
但是,就我而言,问题仍然存在。 我正在使用Qt 5.1.1与Visual Studio 2012,并使用Qt Creator 2.8.1在Windows 7上开发我的应用程序。 应用程序以“Release”模式编译,如果直接使用Qt Creator启动,则可以执行。
但是,当从“release”-Folder开始时,我收到以下消息:
此应用程序无法启动,因为它无法找到或加载 Qt平台插件“windows”。 可用的平台插件是: 最小的,屏幕外,窗户。
文件夹结构如下所示:
release
+ gui.exe
+ icudt51.dll
+ icuin51.dll
+ icuuc51.dll
+ libGLESv2.dll
+ Qt5Core.dll
+ Qt5Gui.dll
+ Qt5Widgets.dll
+ platforms
平台是直接从Qt \ Qt5.1.1 \ 5.1.1 \ msvc2012 \ plugins \ platforms复制的文件夹,包括例如qwindows.dll。 如果我像其他一些用户那样将其重命名为“平台”并不重要。 Qt仍然没有找到“平台插件窗口”,我的错误在哪里?
16个解决方案
63 votes
好的,发布在这里[https://stackoverflow.com/a/17271172/1458552]没有得到其他用户的太多关注:
libEGL.dll丢失了! 尽管在尝试启动应用程序时尚未报告此问题(已报告所有其他* .dll,例如Qt5Gui.dll)。
Anonymous answered 2019-07-20T18:57:12Z
34 votes
我在我的exe位置旁边创建了一个平台目录并将qwindows.dll放入其中,但我仍然收到“无法加载平台插件”窗口“。可用平台是:windows”错误。
我从C:\ Qt \ Qt5.1.1 \ Tools \ QtCreator \ bin \ plugins \ platforms复制了qwindows.dll,这不是正确的位置。 我查看了在Qt Creator中运行的调试日志,发现我的应用程序在调试器中运行时正在查看C:\ Qt \ Qt5.1.1 \ 5.1.1 \ mingw48_32 \ plugins \ platforms。
当我从C:\ Qt \ Qt5.1.1 \ 5.1.1 \ mingw48_32 \ plugins \ platforms复制时,一切正常。
Brandon answered 2019-07-20T18:57:50Z
20 votes
我发现了一个意外但直观的修复。 如果您将用于发布应用程序的编辑器的bin中的qwindows.dll复制并粘贴到名为“platforms”的文件夹中,则可以将该文件夹移动到与应用程序相同的目录中,就像魔术一样。
另外一个有用的提示,Qt附带平台控制台应用程序,它将所有依赖项(包括qwindows.dll和libEGL.dll等)添加到已部署的可执行文件的文件夹中。 windows的应用程序称为windeployqt,文档可以在这里找到[http://doc.qt.io/qt-5/windows-deployment.html。]
CrippledTable answered 2019-07-20T18:58:22Z
11 votes
将QT_QPA_PLATFORM_PLUGIN_PATH环境变量设置为%QTDIR%\ plugi