我有一个 Java 应用程序,它在运行时使用 System.loadLibrary() 从指定文件夹加载一些 DLL。应用程序成功加载了它在文件夹中找到的所有 DLL,但只有一个 DLL。在加载不成功的情况下,报错:
C:\myapp\lib\foo.dll:找不到依赖库
我已经在 DependencyWalker 中打开了 foo.dll,但它没有报告任何问题(它将 IESHIMS.DLL 和 WER.DLL 列为缺失,但这些是警告,据我所知,这些可以忽略)。依赖关系树列出了 WSOCK32.DLL、KERNEL32.DLL 和另一个包含在 lib 文件夹中(并成功加载)的应用程序特定 DLL。
我最好的猜测是 foo.dll 又依赖于我的 lib 文件夹中不存在的另一个 DLL,但我不知道如何获取有关此依赖项的任何进一步信息。任何人都可以建议一种调试方法吗?