部署QT应用程序

时间:2013-01-29 07:32:53

标签: qt

我尝试使用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. MyApp.exe的
  8. MYAPP.INI
  9. Qt5Cored.dll
  10. Qt5Guid.dll
  11. Qt5Widgetsd.dll
  12. 插件
  13. 插件\平台\
  14. plugins \ platform \ qminimal.dll
  15. 插件\平台\ qminimald.dll
  16. 插件\平台\ qwindows.dll
  17. 插件\平台\ qwindowsd.dll
  18. 当我运行应用程序时,我收到一条错误消息:“无法加载平台插件'窗口'。可用的平台是:” 我认为它无法找到一个平台来加载我提供的插件文件夹下的平台。我还添加了系统路径的平台路径,但它也没有解决。有什么建议吗?

4 个答案:

答案 0 :(得分:4)

插件目录为unnecessary

试试这个结构:

  • ...
  • Qt5Widgetsd.dll
  • 平台\
  • platform \ qminimal.dll
  • 平台\ qminimald.dll
  • 平台\ qwindows.dll
  • 平台\ qwindowsd.dll

答案 1 :(得分:3)

help page详细说明了如何为Windows部署Qt5应用程序。

最有用的信息:有一个Windows部署工具(windeployqt)可以自动找到所有必需的dll!

答案 2 :(得分:2)

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

QCoreApplication app(argv, args);    
QString sDir = QCoreApplication::applicationDirPath();
app.addLibraryPath(sDir+"/plugins/platform");

答案 3 :(得分:0)

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