我使用Visual Studio 2008构建一个dll,并且它通过jni在java端调用。 它在A机器上工作正常,但在B机器上失败了。 错误信息如下: java.lang.UnsatisfiedLinkError:xxx.dll无法找到依赖库
配置信息如下(OS和jdk相同):
机器:
B机:
dll的代码生成是多线程调试(/ MTd)。
我不知道原因,如果您需要更多信息来判断原因,请告诉我。
提前感谢您的帮助。
答案 0 :(得分:1)
要查找错过的依赖项,请使用Dependency Walker。打开你的DDL,它会显示它所依赖的所有DDL。它还会显示当前系统中找不到哪一个。
答案 1 :(得分:0)
java.lang.UnsatisfiedLinkError:xxx.dll无法找到依赖库在B机器中抛出而在A机器中抛出是因为dll无法找到dll的依赖库在B机器中并修复它,您可以添加依赖库的路径到环境路径。要获取依赖库,请遵循@ SubOptimal的建议。