在 64 位计算机上编译 32 位非托管 DLL
我有一台装有 Win7-64 的新电脑。我安装了 VS2010,并尝试为 32 位环境编译 C++ 非托管 DLL。当我在 Dependency Walker 中查看创建的 DLL 时,我看到我的文件是 32 位,但所有依赖的 DLL 都是 64 位,并且错误消息:找到了具有不同 CPU 类型的模块。
我需要做什么才能使 DLL 可用,并且在 dependent.exe 中看不到错误?
I've got a new computer with Win7-64 on it. I installed VS2010, and am trying to compile a C++ unmanaged DLL for a 32-bit environment. When I look at the created DLL in Dependency Walker, I see my file is 32-bit, but all dependent DLLs are 64-bit, and the error message: Modules with different CPU types were found.
What do I need to do so that the DLL is usable, and I don't see an error in depends.exe?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您需要使用32位Dependency Walker(两者可以安装在同一台机器上)。
Dependency Walker 不够智能,无法使用 WOW64 目录,因此仅当 Dependency Walker 本身在 WOW64 内运行时才能找到 32 位依赖项。
You need to use 32-bit Dependency Walker (both can be installed on the same machine).
Dependency Walker isn't smart enough to use the WOW64 directories, so 32-bit dependencies are only found when Dependency Walker is itself running inside WOW64.