【问题标题】:This application failed to start because it could not find or load the Qt platform plugin "windows"此应用程序无法启动,因为它无法找到或加载 Qt 平台插件“windows”
【发布时间】:2014-04-11 21:37:25
【问题描述】:

我尝试制作我的程序的可执行文件,但有一些我不理解或找不到解决方案的错误。我在另一台计算机上使用了我的 .exe 文件,但出现了错误。我使用 Windows 7、64 位笔记本电脑通过 QtCreator (v 5.1.1) 制作了我的程序。在 2 台 32 位笔记本电脑上使用时出现错误。

错误信息说:

此应用程序无法启动,因为它无法找到或加载 Qt 平台插件“windows”。

可用的平台插件有:minimal、offscreen、windows。

重新安装应用程序可能会解决问题。

我已经在我的 .exe 文件的同一级别创建了一个名为“platforms”的新文件夹,其中包含“qminimal.dll”、“qoffscreen.dll”和“qwindows.dll”。我还在同一级别粘贴了我的程序需要的其他 DLL。

【问题讨论】:

  • 您是否为 32 位 Windows 或 64 作为原始主机构建了您的应用程序?您不能在 32 位窗口上运行 64 位可执行文件。
  • 我构建程序的笔记本电脑是 64 位 Windows。我当时在同一台笔记本电脑上制作了一个 exe 文件,当时我还在使用 Qt 4.8.4 或类似的东西,并且它可以与其他具有 32 位 Windows 的笔记本电脑一起使用。
  • 我的问题仍然存在:您是在构建 32 二进制还是 64?你应该知道的。
  • 另外,目标 Windows 是否安装了相同的 Visual Studio 或者您至少安装了相应的运行时可再发行组件?

标签: c++ qt


【解决方案1】:

我们在 Qt5.3 中遇到了完全相同的问题。

当我们重建 Qt 以减少依赖关系(例如 Qt5Positioning、Qt5Sensors)时,问题就出现了。 创建的 dll 被复制到不同的目录(安装源),但我们忘记复制新创建的平台插件 dll。

问题已通过使用来自同一 Qt 构建(具有相同配置)的所有 dll 得到解决。

您的问题可能是相同的:混合来自不同 Qt 构建的 dll(例如不同的配置、版本……)。

【讨论】:

    【解决方案2】:

    在 Qt 5.2 中,有一个可以用于在 Windows 上部署的工具:windeployqt。它将位于 Qt 安装的 bin 文件夹中。它极大地简化了部署,所以如果您不介意下载更新的 Qt 版本,我强烈推荐它。它甚至可能适用于较旧的 Qt 版本,但我还没有测试过。

    【讨论】:

      猜你喜欢
      • 2016-06-10
      • 2014-10-01
      • 2015-06-06
      • 1970-01-01
      • 2017-07-24
      • 2020-04-13
      • 1970-01-01
      • 1970-01-01
      • 2018-05-17
      相关资源
      最近更新 更多