【问题标题】:Qt 5.0.2 and Mingw 4.7 deployQt 5.0.2 和 Mingw 4.7 部署
【发布时间】:2013-05-23 08:09:57
【问题描述】:

我搜索以部署我的应用程序。 它使用 Qt 5.0.2 和 Mingw 4.7 作为编译器。

我复制了所有的 dll:

  • D3DCompiler_43.dll
  • icudt49.dll
  • icuin49.dll
  • icuuc49.dll
  • libgcc_s_sjlj-1.dll
  • libstdc++-6.dll
  • libwinpthread-1.dll
  • Qt5Core.dll
  • Qt5Gui.dll
  • libGLESv2.dll
  • Qt5Svg.dll
  • Qt5Widgets.dll
  • Qt5Xml.dll

在我的文件夹中发布。

所有这些 dll 都是必需的,否则我会收到一条消息“... .dll manquante”。

现在,当我在发布文件夹中启动我的 exe 时,我会收到以下消息:

"Microsoft Visual C++ 运行时库

运行时错误!

程序:...\release\test.exe

此应用程序已请求运行时以不寻常的方式终止它。 请联系应用程序的支持团队了解更多信息。”

为什么会有这条消息?

【问题讨论】:

    标签: deployment qt5


    【解决方案1】:

    Windows 上的 Qt5 需要 qwindows.dll,它应该相对于主可执行文件进行部署,如下所示:

    • {yourAppPath}\YourApp.exe
    • {yourAppPath}\platforms\qwindows.dll

    EDIT {yourAppPath}\ 是插件根目录,所以 \platforms\ 和其他插件应该放在那里,而不是像我最初写的那样放在 {yourAppPath}\plugins 中。

    假设您正在使用 Qt Creator 并且可以启动您的应用程序,请尝试使用 MS 的 Process Explorer 来发现您的应用程序正在加载哪些 Qt DLL。

    【讨论】:

      【解决方案2】:

      {qt path}/5.0/mingw491_32/bin 有windeployqt.exe。此工具旨在自动收集所有关系

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多