2

我搜索以部署我的应用程序。它使用 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

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

为什么这个消息?

4

2 回答 2

0

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

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

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

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

于 2013-06-18T17:07:07.687 回答
0

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

于 2017-04-27T10:17:37.860 回答