【问题标题】:Qt platform plugin "windows" is not found on one computer在一台计算机上找不到 Qt 平台插件“windows”
【发布时间】:2016-01-22 14:24:53
【问题描述】:

我有一个使用 Qt 5.5 构建的应用程序,在 x86 Windows 7 上使用动态链接部署和运行。当我尝试在该特定计算机上启动它时,我收到以下错误:

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

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

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

“windows”插件确实在列表中重复了两次。

虽然我已经正确设置了这些库,因此它们在我的主计算机上运行没有问题,但这里似乎找不到 platforms 目录。

文件列表:

MyProject\platforms\qwindows.dll
MyProject\Qt5Core.dll
MyProject\Qt5Cored.dll
MyProject\Qt5Gui.dll
MyProject\Qt5Guid.dll
MyProject\Qt5Widgets.dll
MyProject\Qt5Widgetsd.dll
MyProject\MyProject.exe

关于这个错误可以找到许多类似的问题,但我已经尝试了所有我找到的关于它的答案(包括更改文件和文件夹名称,将各种额外的 Qt 库添加到目录等)但没有成功。我再次构建了应用程序,同时确保所有组件都具有正确的架构,但还是没有成功。

除了静态链接,我怎样才能让它运行?

【问题讨论】:

  • 尝试使用windeployqt自动收集库
  • Burich:谢谢,成功了;我不确定缺少哪个库,但我觉得以前没有考虑过使用它很傻。如果您提交包含详细信息的答案,我会批准。

标签: c++ windows qt


【解决方案1】:

您需要将文件夹 'platforms' 从 \$QTDIR\$version\$complier\plugins\(其中必须包含文件 qwindows .dllqminimal.dll) 在您的 .exe 文件附近。

Windows 上 Qt 5 的常用 dll 列表:

【讨论】:

  • 他在“平台”文件夹中有“qwindows.dll”,这应该是正确的,或者“靠近你的 .exe 文件”是什么意思?你需要什么“qminimal.dll”?
  • 文件夹 platforms 必须靠近您的 .exe 文件
  • 您的应用程序文件夹是否包含所有 icuxx.dll ?您的 platforms 文件夹是否包含 qminimal.dll
【解决方案2】:

尝试使用windeployqt。 它会尝试自动收集所有需要的库。

【讨论】:

  • windeployqt <release_dir>\MyProject.exe 已修复。
【解决方案3】:

设置QT_QPA_PLATFORM_PLUGIN_PATH环境变量worked for me

herehere 也提到了这个解决方案。

【讨论】:

    【解决方案4】:

    打开 Cmd 并为 qtquick 部署编写此代码(删除 --qmldir 用于非 qtquick):

     windeployqt --qmldir <path-to-app-qml-files> <path-to-app-binary>  
    

    例如:

    windeployqt --qmldir C:\Users\Administrator\Documents\Dyn
    amicView C:\Users\Administrator\Documents\build-DynamicView-vc-Release\release 
    

    写信windeployqt了解更多详情。

    【讨论】:

      猜你喜欢
      • 2020-10-05
      • 1970-01-01
      • 2022-11-04
      • 1970-01-01
      • 1970-01-01
      • 2019-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多