我有一个 Win32(32 位)DLL 项目,它的构建和链接没有错误。 DLL 无法加载到 32 位进程中。使用 DependencyWalker,我看到 DLL 是 32 位的,但已与 kernel32、msvcr100d、ws2_32 和 msvcr100 的 64 位库链接。
DependencyWalker 也显示错误
Error: Modules with different CPU types were found.
我已经对这个问题感到困惑了几个小时,只是无法理解它 - 有其他人经历过这个并找到解决方案吗?
简短回答: Use x86 的依赖项 Walker对于 x86 的东西。
长答案:最初我使用x64 的 Dependency Walker在 MS Windows 7 操作系统上并遇到了您遇到的障碍。然后我按照 MerickOWA 关于更改搜索路径的建议(感谢 MerickOWA)。尽管我仍然有一些依赖项导致“错误:找到具有不同 CPU 类型的模块”。
我没有弄清楚如何配置 Dependency Walker 以在“c:\windows\winsxs\amd64_microsoft.windows.gdiplus_6595b64144ccf1df_1.1.7601.17514_none_2b24536c71ed437a\GDIPLUS.DLL”等奇怪的路径中搜索 x86 DLL,而是正确使用了x86 的依赖项 Walker。对我来说就像一个魅力!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)