我用Visual Studio 2008构建了一个dll,它被java端通过jni调用。
它在A机上运行正常,但在B机上运行失败。
错误信息如下:
java.lang.UnsatisfiedLinkError:xxx.dll找不到依赖的库

配置信息如下所示(操作系统和jdk相同):

机器:


Win7 64位;
java版本“ 1.7.0_21” Java™SE运行时环境(内部版本1.7.0_71-b14)
Java HotSpot(TM)客户端VM(内部版本24.71-b01,混合模式,共享)
eclipse-标准-开普勒-SR2-win32-x86_64


B机:


Win7 64位;
Java版本“ 1.7.0_65” Java™SE运行时环境(内部版本1.7.0_65-b19)
Java HotSpot(TM)客户端VM(内部版本24.71-b01,混合模式,共享)
eclipse-java-luna-SR1a-win32


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

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

感谢您的帮助。

最佳答案

要查找错过的依赖项,请使用Dependency Walker。打开您的DDL,它将显示您依赖的所有DDL。它还将向您显示在当前系统上找不到哪个。

http://www.dependencywalker.com/

关于java - 我的情况下java.lang.UnsatisfiedLinkError的原因是什么,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28169983/

10-10 12:50