如何运行一个Qt可执行文件依赖.dll文件?
How to run a Qt executable file dependent on .dll files?
所以我已经完成了我的 Qt 应用程序,我需要使用 Squish 测试应用程序(第一次使用)进行测试。显然我需要一个工作的 exe 文件,但我无法将可执行文件下载到 运行。我将所有 .dll 文件添加到同一目录,结果出现错误:
在此之前,我收到错误提示 XXXX.dll is missing
,但正如我所说,我已将它们添加到目录中。我尝试使用我的项目的调试和发布版本,结果相同。我也试过构建一个独立的可执行文件,但它有自己的问题(一次一个问题)。该程序 运行 在 Qt Creator 和 VS2013 中非常棒...只是不能单独使用。
有什么解决办法吗?
编辑:
来自 Dependency Walker...
如果您 运行 应用程序是独立的(即不是来自 Qt Creator),您还需要 Qt 库 DLL。您需要哪一个取决于您使用的组件。
Dependency Walker 也是查找 Windows.
下丢失的 DLL 的有用工具
0x7B 是无效图像格式的错误代码。
您正在尝试 运行 32 位系统上的 64 位应用程序,或者链接到 64 位库(即您复制了错误的 DLL)。
或者您的二进制文件刚刚损坏。
对我来说好像少了点什么。 windows 上的 Qt 有脚本 windeployqt,它将提供所有需要的依赖项。请参阅文档 http://doc.qt.io/qt-5/windows-deployment.html 关于它的使用。在 Windows 上,您将能够 运行 cmd 加载 qt 环境变量(在 Windows 7 上,请参阅 windows 应用程序菜单下 - 如果安装了 qt,它将可用)。正如西蒙所说,Dependency Walker 是一个很好的工具。
所以我已经完成了我的 Qt 应用程序,我需要使用 Squish 测试应用程序(第一次使用)进行测试。显然我需要一个工作的 exe 文件,但我无法将可执行文件下载到 运行。我将所有 .dll 文件添加到同一目录,结果出现错误:
在此之前,我收到错误提示 XXXX.dll is missing
,但正如我所说,我已将它们添加到目录中。我尝试使用我的项目的调试和发布版本,结果相同。我也试过构建一个独立的可执行文件,但它有自己的问题(一次一个问题)。该程序 运行 在 Qt Creator 和 VS2013 中非常棒...只是不能单独使用。
有什么解决办法吗?
编辑:
来自 Dependency Walker...
如果您 运行 应用程序是独立的(即不是来自 Qt Creator),您还需要 Qt 库 DLL。您需要哪一个取决于您使用的组件。
Dependency Walker 也是查找 Windows.
下丢失的 DLL 的有用工具0x7B 是无效图像格式的错误代码。
您正在尝试 运行 32 位系统上的 64 位应用程序,或者链接到 64 位库(即您复制了错误的 DLL)。
或者您的二进制文件刚刚损坏。
对我来说好像少了点什么。 windows 上的 Qt 有脚本 windeployqt,它将提供所有需要的依赖项。请参阅文档 http://doc.qt.io/qt-5/windows-deployment.html 关于它的使用。在 Windows 上,您将能够 运行 cmd 加载 qt 环境变量(在 Windows 7 上,请参阅 windows 应用程序菜单下 - 如果安装了 qt,它将可用)。正如西蒙所说,Dependency Walker 是一个很好的工具。