【发布时间】:2011-02-15 22:15:27
【问题描述】:
我一直在尝试使用 C++ 加载 32 位 dll(来自 32 位应用程序,在 Windows 7 64 位上)。 LoadLibrary 返回 NULL,GetLastError 为“找不到指定的模块”返回 126。
我将完整地址传递给 LoadLibrary 函数。我在 Dependency Walker 中打开了 dll,上面说 GPSVC.dll 是缺少的依赖项。
从我所做的谷歌搜索来看,似乎 Dependency Walker 经常错误地将这个 GPSVC.dll 显示为缺少的依赖项,并且它没有 32 位版本,所以我认为这不是实际的问题。
我过去没有对 dll 做过太多的研究,所以希望这是一个相对简单的问题,我可以从中学习。
提前感谢您的帮助!
【问题讨论】:
-
一些附加信息:当我调用 LoadLibrary 时,Visual Studio 调试器显示 dll 已加载,然后立即卸载。我相当肯定这意味着找到了 dll 就好了,但 DllMain 函数返回 false。这似乎指向一个依赖问题,但到目前为止我还没有弄清楚任何事情。
标签: dll dependencies x86 64-bit loadlibrary