我有一个Java应用程序,在运行时使用System.loadLibrary()从指定的文件夹加载一些DLL。应用程序成功加载了它在文件夹中找到的所有DLL,但只有一个。在不成功的负载的情况下,它报告错误:UnsatisfiedLinkError(无法找到依赖库)在Java中由于递归依赖
C:\myapp\lib\foo.dll: Can't find dependent libraries
我在DependencyWalker打开foo.dll但它没有报告任何问题(它列出IESHIMS.DLL和WER.DLL作为失踪,但这些都是警告,据我所知,这些可以忽略)。依赖关系树列出了WSOCK32.DLL,KERNEL32.DLL和lib文件夹中包含的其他应用程序特定的DLL(并成功加载)。
我最好的猜测是foo.dll依赖于另一个DLL,它不存在于我的lib文件夹中,但我不知道如何获得有关此依赖项的更多信息。任何人都可以提出一种调试方法吗?