12

我在我的应用程序中使用其中一个 Dll 时遇到了一些问题,我在其上运行了依赖项walker。我不知道如何阅读它,但我得到了以下结果在此处输入图像描述

它是否表明任何 x86-x64 不兼容?无论如何我可以解决这个问题吗?

Error: At least one required implicit or forwarded dependency was not found.
Error: At least one module has an unresolved import due to a missing export function in an implicitly dependent module.
Error: Modules with different CPU types were found.
Warning: At least one delay-load dependency module was not found.
Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module.
4

1 回答 1

9

当您查看 64 位版本的 Dependency Walker 中的 32 位可执行文件时,通常会看到这种视图。因为 Dependency Walker 是 64 位的,所以当它尝试在 DLL 搜索路径上查找 DLL 时,它会找到 64 位版本。您的 32 位程序将在 WOW64 模拟器中运行并找到 32 位版本。

因此,您提供的屏幕截图,没有什么可担心的。

如果您的应用程序在这里遇到依赖问题,我建议您在 Dependency Walker 的 Profile 模式下运行您的程序(从 Profile 菜单项)。这将为您详细诊断加载时和运行时实际发生的情况。您上面提供的屏幕截图来自静态分析,因此这种静态分析必然总是不完整且不准确。确定程序加载时会发生什么的唯一方法是在加载时对其进行调试。

于 2014-01-31T08:29:08.203 回答