2

我尝试使用 VC++(调试模式)在 Windows 上部署我的 QT 应用程序构建。我在未安装 QT 的 PC 上运行该应用程序。我还提供了一些它需要的 .dll 库。这是文件夹布局:

  1. D3DCompiler_43.dll
  2. icudt49.dll
  3. icuin49.dll
  4. icuuc49.dll
  5. libEGLd.dll
  6. libGLESv2d.dll
  7. 我的应用程序
  8. 我的应用程序.ini
  9. Qt5Cored.dll
  10. Qt5Guid.dll
  11. Qt5Widgetsd.dll
  12. 插件
  13. 插件\平台\
  14. 插件\平台\qminimal.dll
  15. 插件\平台\qminimald.dll
  16. 插件\平台\qwindows.dll
  17. 插件\平台\qwindowsd.dll

当我运行应用程序时,我收到一条错误消息:“无法加载平台插件'windows'。可用平台是:”我认为它无法找到加载平台,尽管我在插件文件夹下提供了平台。我还将平台路径添加到系统路径,但它也没有解决。有什么建议吗?

4

4 回答 4

4

plugins目录是不必要的。

试试这个结构:

  • ...
  • Qt5Widgetsd.dll
  • 平台\
  • 平台\qminimal.dll
  • 平台\qminimald.dll
  • 平台\qwindows.dll
  • 平台\qwindowsd.dll
于 2013-01-29T07:38:33.630 回答
3

有一个帮助页面详细说明了如何为 Windows 部署 Qt5 应用程序。

那里最有用的信息:有一个 Windows 部署工具 (windeployqt),它会自动为您找到所有需要的 dll!

于 2014-08-12T08:59:39.407 回答
2

您可以在程序开始时加载插件,main()如下所示:

QCoreApplication app(argv, args);    
QString sDir = QCoreApplication::applicationDirPath();
app.addLibraryPath(sDir+"/plugins/platform");
于 2013-01-29T07:50:11.213 回答
0

在调试中运行 Qt 时,输出窗口会告诉您它加载的所有 DLL,然后您需要将其包含在您的分发 exe 文件夹中。

于 2013-09-23T13:48:39.570 回答