使用QT5库部署的应用程序无法在Windows 7上启动

Aki*_*Aki 32 qt qt5

最近我们一直在Windows上将基于QT的应用程序从QT 4.8迁移到QT 5,我们遇到了部署问题.请注意,我们的应用程序没有更改,我们只使用新的QT5框架构建它.通过一些努力,我们使用基于VS2010的QT5库进行构建; 我成功地从Qt Creator运行了应用程序.

正如我们在QT4中所做的那样,我们在安装程序中包含了一组必需的QT库.

在我们的测试阶段,当我们在干净的机器上安装我们的QT5应用程序时; 它不会开始.不仅应用程序没有启动,而且它没有输出任何错误.

我们通过依赖检查器运行了应用程序; 并且根本没有缺少库依赖项.

Aki*_*Aki 37

经过几天没有进展的搜索,我们偶然发现了一个QT错误:

https://bugreports.qt.io/browse/QTBUG-28766

使用QT5,除了预期的QT库,msvcr100.dll和msvcp100.dll; 事实证明,您必须运送您的应用程序:

platforms/qminimal.dll
platforms/qwindows.dll
Run Code Online (Sandbox Code Playgroud)

同样.您可以在本地QT5库中找到@:\ Qt5.0.0\5.0.0\msvc2010\plugins\platforms我到处搜索,我无法在他们的文档中找到此信息.

  • depends.exe会帮助你很大,如果你静态链接运行时也不需要msvc*.dll - 注意到你说依赖没有帮助,在这种情况下procmon.exe会有 (2认同)
  • 平台/ qminimal.dll并不总是必需的.qwindows.dll是. (2认同)

And*_*rew 15

让我运行独立的"Hello World"gui应用程序(Qt sdk 5.0.1 mingw,Win7 x64).我需要将下一个文件添加到程序目录:

  1. 平台/ qwindows.dll
  2. D3DCompiler_43.dll
  3. icudt49.dll
  4. icuin49.dll
  5. icuuc49.dll
  6. libEGL.dll
  7. libgcc_s_sjlj-1.DLL
  8. libGLESv2.dll
  9. 的libstdc ++ - 6.dll
  10. libwinpthread-1.DLL
  11. Qt5Core.dll
  12. Qt5Gui.dll
  13. Qt5Widgets.dll

Windows的完整部署信息可在qt 5.5 doc获得


Rob*_*ert 7

更好的选择是使用:windeployqt.exe.此工具可解析application.exe的所有依赖项.