【问题标题】:Running Qt app on different computers在不同的计算机上运行 Qt 应用程序
【发布时间】:2016-09-03 17:02:20
【问题描述】:

我刚刚完成了我的第一个 Qt 程序。我用 MinGW 32 位编译器编译它。 在我的计算机上,我在安装 Qt 时已经安装了所有必需的 dll 文件。

在 Profile/Debug/Release 之后,我可以在我的计算机上成功运行该应用程序。

但是.. 在第二台计算机(也是 Windows 10)上,我收到有关丢失 dll 文件的错误。 Qtguid.dll、qtwidgets 等等。我试图将一些丢失的 dll 文件放到程序目录中。出现新错误,例如 0xc00007b。

我可以做些什么来解决这些 dll 文件的问题?我该怎么做才能让这个应用程序能够在不同的 PC 上运行?

【问题讨论】:

  • “在第二台电脑(也是 Windows 10)上”那台电脑也是 32 位的吗?确保您没有将 32 位程序与 64 位操作系统混合使用,反之亦然。
  • 首先,您需要了解更多关于原生应用部署的知识。当您看到有关QtGuid.dll 的消息时,您尝试部署一个调试程序。其次,详细了解Qt applications deployment

标签: c++ qt dll


【解决方案1】:

如果您在 Windows 下编译应用,32 位版本完全兼容 x64 位版本。如果您仅使用 Qt dll,则在 Windows 7 或 10 中运行该应用程序没有问题。

我建议您检查Qt Deployment Documentation 并使用windeployqt 获取所有必需的dll 文件。基本上:

  1. 在发布模式下编译您的应用。
  2. 新建一个文件夹,将生成的exe文件复制到这个文件夹中。
  3. 访问 Qt Mingw32(或 MSVC)命令提示符并转到文件夹并运行:

    cd C:/myFolder windeployqt .

Windeployqt 将复制此文件夹中的所有必需文件。该过程完成后,只需运行该应用程序。将文件夹压缩成rar或zip,在其他电脑上测试。

  • 如果问题仍然存在,请使用DependencyWalker 检查所需的 dll。复制文件夹中所需的文件。
  • 一切正常后,您可以使用InnoSetup 创建安装程序。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-18
    • 2018-02-14
    • 1970-01-01
    • 1970-01-01
    • 2012-01-29
    • 2011-01-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多