在我的情况下 java.lang.UnsatisfiedLinkError 的原因是什么

What's the cause of java.lang.UnsatisfiedLinkError in my situation

我用 Visual Studio 2008 构建了一个 dll,它由 java 端通过 jni 调用。 它在 A 机器上工作正常,但在 B 机器上失败。 错误信息是这样的: java.lang.UnsatisfiedLinkError:xxx.dll 找不到依赖库

配置信息如下(OS和jdk相同):

一台机器:

B机:

dll的代码生成多线程调试(/MTd).

我不知道原因,如果您需要更多信息来判断原因,请告诉我。

提前感谢您的帮助。

要查找丢失的依赖项,请使用 Dependency Walker。打开您的 DDL,它将显示它所依赖的所有 DDL。它还会告诉您在当前系统中找不到哪个。

http://www.dependencywalker.com/

java.lang.UnsatisfiedLinkError:xxx.dllCan't find dependent libraries在B机抛出A机不抛是因为那个dll的依赖库可以'被B机的dll发现并修复,可以将依赖库的路径添加到环境路径中。要获取依赖库,请遵循@SubOptimal 的建议。