【问题标题】:Deploying a c++ QT5 app部署 c++ QT5 应用程序
【发布时间】:2013-05-07 08:27:46
【问题描述】:

我正在尝试部署我的应用程序。它可以在 Windows 7 上运行,退出很多 .dll 文件,但我无法在 Windows XP 上运行。看来windows Xp 需要更多的dll 文件。但是 Dependency walker 工具不断向我显示缺少新的 dll 文件。现在它说 API-MS-WIN-CORE-PROCESSTHREADS-L1-1-0.DLL 和 API-MS-WIN-SECURITY-BASE-L1-1-0.DLL 丢失。

当我尝试启动 exe 时没有任何反应...没有错误...

我使用带有预构建 msvc2010 的 Qt5.0.2。

提前致谢

【问题讨论】:

  • 好吧,如果您在 Windows 7 中挖掘得足够深,这些文件确实存在,而且其中大多数确实可以在 Windows XP 上运行……至少 3 年前是这样。另一种方法是使用较小的 WINVER(或此类)宏重新构建 Qt 以使其正常工作,但我不知道 Qt 5。是时候继续前进了,或者坚持使用旧工具。
  • 我还需要把这些dll全部复制粘贴到应用文件夹吗?
  • 您是否完成了qt-project.org/doc/qt-5.0/qtdoc/deployment-windows.html 的部署指南?
  • 好的解决方法是创建一个文件夹平台并将qwindows.dll相对插入到exe中

标签: c++ qt qt5


【解决方案1】:

也许这与缺少 VS 2010 可再发行组件有关?如果您还不知道,请确保构建发布配置。

http://www.microsoft.com/en-us/download/details.aspx?id=5555

如果您将它打包到 NSIS 之类的安装程序中,我通常会使用参数 /Q 执行它以防止弹出任何 GUI...它不会要求任何管理员权限,这与上一个相比很好VC 2008 重新分发总是需要它。

【讨论】:

    【解决方案2】:

    作为前面的答案,要求是 VS 可再分发。在您的情况下,当您使用 VS2010 时,要下载的文件是 MS 2010 可再发行文件。

    除此之外,还有一个可执行的 windeployqt 可帮助部署包复制可执行目录所需的 Qt DLL。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-01-21
      • 2014-08-06
      • 2023-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多