在不同计算机上运行Qt应用程序

4
我刚完成了我的第一个Qt程序。我使用MinGW 32位编译器进行编译。在我的计算机上,当我安装Qt时,我已经安装了所有必要的dll文件。
通过Profile/Debug/Release,我可以在我的计算机上成功运行应用程序。但是,在第二台计算机上(同样是Windows 10),我收到了有关缺少dll文件的错误消息。例如Qtguid.dll、qtwidgets等等。我尝试将一些缺失的dll文件放置到程序目录中。新的错误出现了,如0xc00007b。
我该怎么做才能解决这些dll文件的问题?我该怎么做才能使这个应用程序能够在不同的计算机上运行?

1
在第二台电脑上(同样是Windows 10),那台电脑也是32位的吗?请确保您不会将32位程序与64位操作系统混合使用,反之亦然。 - Mara Black
首先,你需要学习更多关于本地应用程序部署的知识。当你看到关于 QtGuid.dll 的消息时,你尝试部署一个调试程序。其次,了解更多关于Qt 应用程序部署的内容。 - ilotXXI
1个回答

8
如果你在Windows下编译你的应用程序,32位版本完全兼容x64位版本。如果你只使用Qt dlls,那么在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创建安装程序。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接