如何运行依赖于.dll文件的Qt可执行文件?

时间:2015-07-01 12:55:52

标签: c++ qt dll exe

所以我已经完成了我的Qt应用程序,我需要使用Squish测试应用程序(第一次使用)来实现测试。显然我需要一个工作的exe文件,但我无法运行可执行文件。我将所有.dll文件添加到同一目录,只是为了得到错误:enter image description here

在此之前,我收到的错误是var $ = require('jquery'); MyMixin = { trackStructEvent: function () { args = Array.prototype.slice.call(arguments); $('body').trigger('myEvent', args); } module.exports = MyMixin ,但就像我说的那样,我已将它们添加到目录中。我尝试使用相同结果的项目的调试和发布版本。我也试过构建一个独立的可执行文件,但这有它自己的问题(一次只有一件事)。该程序在Qt Creator和VS2013中运行良好......只是不靠自己。

对此有何解决方案?

修改 来自Dependency Walker ...... enter image description here

3 个答案:

答案 0 :(得分:2)

0x7B是无效图像格式的错误代码。

您尝试在32位系统上运行64位应用程序,或者链接到64位库(即您复制了错误的DLL)。

或者您的二进制文件已损坏。

答案 1 :(得分:1)

如果您独立运行应用程序(即不是从Qt Creator运行),您还需要Qt库DLL。您需要哪一个,取决于您使用的组件。

Dependency Walker也是在Windows下查找丢失的DLL的有用工具。

答案 2 :(得分:1)

至于我,似乎缺少某些东西。 Windows上的Qt有脚本windeployqt,它将提供所有必需的依赖项。有关此项的使用,请参阅文档http://doc.qt.io/qt-5/windows-deployment.html。在Windows上,您将能够运行带有加载的qt环境变量的cmd(在Windows 7上,请参阅Windows应用程序菜单 - 如果安装了qt,它将可用)。正如Simon所说,Dependency Walker是一个很好的工具。