我有一个问题,我一直试图解决好几天而且找不到来源。我已经阅读了几个关于这个问题的博客,但没有一个对我有用。 Stack Overflow上存在一个几乎完全描述我的问题的问题。
内容如下:
“我有一个加载dll的MFC .exe。 .dll是动态链接的 到MFC。我得到的错误是126,也就是说,在尝试之后 加载.dll失败,GetLastError()返回126:“指定的 无法找到模块“。我尝试将.dll放在目录中 我的.exe在加载它 - 仍然没有找到它。我什至 尝试对.dll的路径进行硬编码,但仍然没有找到它。“
对这个问题的回答是:
“可能不是DLL本身,而是其中一个依赖项不可能 找到。使用Dependency Walker实用程序来标识所有相关DLL。 如果缺少一些依赖的DLL,它会警告你。“
程序员问这个问题是能够在此基础上解决问题,但我没有那么幸运。我没有想法,希望有人可以帮我解决这个令人沮丧的问题。
我99%确定这是我的情况。在我的情况下,我的DLL(My.dll)导入另一个库。我将其称为Suspect.dll和Suspect.lib。
在我的DLL的“链接器输入”下的属性页中,可疑导入库包含在列表中且路径正确:Suspect.lib。
当我运行应用程序时,我可以通过IDE的输出窗口看到My.dll已加载,但随后被卸载。
此应用程序过去成功运行,但我使用CMake从VS2008项目文件转到makefile,然后返回。我相信有些设置在这个过程中发生了变化,但我只是没有看到它。
如果有人可以帮助我,我会非常感激!