阅读的Dependency Walker输出
问题描述:
我使用的DLL一个在我的应用程序有一些问题,我跑的Dependency Walker就可以了。我不知道如何读它,但我得到了以下结果阅读的Dependency 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.
答
当您查看64位版本的Dependency Walker中的32位可执行文件时,您通常会看到那种视图。因为Dependency Walker是64位的,所以当它试图在DLL搜索路径上查找DLL时,它会找到64位版本。您的32位程序将在WOW64仿真器中运行并找到32位版本。
所以,你已经提交的截图中,有什么都予以关注。
如果您有您的应用程序依赖的问题在这里我建议你下的Dependency Walker的个人资料模式下运行程序(从配置文件菜单项)。这会给你详细的诊断实际发生在加载时间和运行时间的情况。上面介绍的屏幕截图来自静态分析,而且这种静态分析通常是不完整的,并且会有不准确的地方。确保程序加载时发生的情况的唯一方法是在加载时调试它。
刚一说明:如果可能的话,包括错误消息文本(附加),所以它是用户更容易找到这个线程。谢谢;-) –
刚刚编辑的错误是相当具有描述性的,但我的问题是,如果有这么多的问题,他们如何编译DLL以开始? – TeaLeave