我刚刚完成了我的第一个 Qt 程序。我用 MinGW 32 位编译器编译了它。 在我的计算机上,我在安装 Qt 时已经安装了所有必需的 dll 文件。
在配置文件/调试/发布之后,我可以在我的计算机上成功运行该应用程序。
但是.. 在第二台计算机(也是 Windows 10)上,我收到有关丢失 dll 文件的错误。 Qtguid.dll、qtwidgets 等等。我试图将一些丢失的dll文件放到程序目录中。出现新错误,如 0xc00007b。
如何解决这些dll文件的问题?我该怎么做才能让这个应用程序能够在不同的 PC 上运行?
最佳答案
如果您在 Windows 下编译您的应用程序,32 位版本与 x64 位版本完全兼容。如果您仅使用 Qt dll,则在 Windows 7 或 10 中运行该应用程序没有问题。
我建议你查看Qt Deployment Documentation并使用 windeployqt
获取所有必需的 dll 文件。基本上:
- 在 Release模式下编译您的应用。
- 创建一个新文件夹并将生成的 exe 文件复制到该文件夹。
访问 Qt Mingw32(或 MSVC)命令提示符并转到文件夹并运行:
cd C:/myFolder
windeployqt.
Windeployqt 将复制此文件夹中的所有必需文件。该过程完成后,只需运行该应用程序。将文件夹压缩成rar或zip,在其他电脑上测试。
- 如果问题仍然存在,请使用 DependencyWalker检查所需的 dll。将所需文件复制到文件夹中。
- 当一切正常时,您可以使用 InnoSetup创建安装程序。
关于c++ - 在不同的计算机上运行 Qt 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39309335/