Qt 5.1.1:应用程序无法启动,因为缺少平台插件“windows”

新手上路,请多包涵

编辑: 有些人开始将我的问题标记为重复。不要忘记当我问这个问题时存在许多类似的问题(参见下面的列表)。但是, 这些答案都没有解决我的问题。经过长时间的搜索,我发现 了一条被所有指向丢失库的用户忽略的评论。现在,几个月后,评论已更改为答案。但是,当我自己回答这个问题时,我打算通过直接提供解决方案来帮助其他人。这不应该被遗忘,到目前为止我的回答帮助了很多人。因此我的问题绝对不是重复的。 顺便说一句:顶部提供的链接中接受的答案不能解决问题


是的,我使用了搜索:

无法加载平台插件“windows”。可用平台是:错误

从 Visual Studio qwindows.dll 部署 Qt C++ 应用程序错误

无法加载平台插件“windows”可用的平台是:windows、minimal

但是,就我而言,问题仍然存在。我将 Qt 5.1.1 与 Visual Studio 2012 一起使用,并使用 Qt Creator 2.8.1 在 Windows 7 上开发了我的应用程序。应用程序以“发布”模式编译,如果直接使用 Qt Creator 启动,则可以执行。

但是,从“发布”文件夹开始时,我收到以下消息:

此应用程序无法启动,因为它无法找到或加载 Qt 平台插件“windows”。可用的平台插件有:minimal、offscreen、windows。

文件夹结构如下所示:

 release
+ gui.exe
+ icudt51.dll
+ icuin51.dll
+ icuuc51.dll
+ libGLESv2.dll
+ Qt5Core.dll
+ Qt5Gui.dll
+ Qt5Widgets.dll
+ platforms

Platforms 是直接从 Qt\Qt5.1.1\5.1.1\msvc2012\plugins\platforms 复制的文件夹,包括例如 qwindows.dll。如果我像其他一些用户那样将它重命名为“平台”也没关系。 Qt 仍然没有找到“平台插件窗口”,我的错误在哪里?

原文由 Anonymous 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 2.4k
2 个回答

好的,正如在此处发布的那样 https://stackoverflow.com/a/17271172/1458552 没有引起其他用户的太多关注:

libEGL.dll 丢失了!尽管在尝试启动应用程序时未报告此问题(已报告所有其他 *.dll,例如 Qt5Gui.dll)。

原文由 Anonymous 发布,翻译遵循 CC BY-SA 3.0 许可协议

主要讲Windows平台

尝试使用 vcpkg 安装的 Qt 库调试应用程序构建时遇到同样的问题,同时使用 cmake 构建我的应用程序。在找到解决方案之前遇到了几个小时的麻烦。最简单的方法是执行以下操作:

  • 在您的构建文件夹中,找到最终可执行文件所在的文件夹。

  • 在该文件夹中,您会找到一些 Qt 库,例如 Qt6Core.dll

  • 注意库文件名称中是否有 d 后缀,即 Qt6Cored.dll 而不是 Qt6Core.dll

  • vcpkg 文件夹中,您有 2 个选项

    1. ./installed/x64-windows/Qt6/plugins/platforms
    2. ./installed/x64-windows/debug/Qt6/plugins/platforms
  • 如果存在 d 后缀,请将 ../debug/.. 文件夹(否则另一个)的内容复制到 platforms 文件夹中的同一文件夹中,并且 Qt 库位于(如果没有这样的文件夹,请自行创建)。

你可以以某种方式自动化这个过程。把这个任务留给你。如果我自己这样做,将更新答案。

编辑

如果您使用 CMakeLists 您可能想尝试一下。将以下内容添加到您的应用程序的 CMakeLists.txt

 # assuming your target's name is app

if(WIN32)
    add_custom_command(
        TARGET app POST_BUILD
        COMMAND ${CMAKE_COMMAND} -E copy_directory
            ${Qt6_DIR}/../../$<$<CONFIG:Debug>:debug/>Qt6/plugins/platforms/
            $<TARGET_FILE_DIR:app>/platforms/
    )
endif()

原文由 arsdever 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题