java.lang.unsatisfiedlinkerror:_我的java程序中的java.lang.UnsatisfiedLinkError :(

我创建了一个使用JNI的程序。我编译了它,生成了头文件,创建了一个相应的C程序,并为它创建了dll。

我遇到了一个例外:

线程“main”中的异常java.lang.UnsatisfiedLinkError:D:\ examples \ FirstJNIExample.dll:找不到依赖库

at java.lang.ClassLoader $ NativeLibrary.load(Native Method)

at java.lang.ClassLoader.loadLibrary0(Unknown Source)

在java.lang.ClassLoader.loadLibrary(未知来源)

在java.lang.Runtime.load0(未知来源)

在java.lang.System.load(未知来源)

在com.ankur.FirstJNIExample。(FirstJNIExample.java:9)

找不到主类:com.ankur.FirstJNIExample。程序将会退出。

我不知道我的FirstJNIExample.dll所依赖的所有dll。

我在Dependency Walker中看到我的dll依赖于以下dll:

MSVCR90.DLL

KERNEL32.DLL

这个kernel32.dll依赖于:

ntdll.dll中

我还在msncr90.dll的Dependency Walker中看到一个错误,系统无法找到指定的文件。

此dll存在于我的系统中此位置:D:\ Program Files \ Microsoft Visual Studio 9.0 \ VC \ redist \ x86 \ Microsoft.VC90.CRT

当我想在我自己的代码中加载它时,如下所示:

enter code hereSystem.load(“D:/ Program Files/Microsoft Visual Studio 9.0/VC/redist/x86/Microsoft.VC90.CRT/msvcr90.dll”);

System.load( “d:/examples/FirstJNIExample.dll”);

我收到一个Windows错误:

Microsoft Visual C++运行时库 h2>

运行时错误!

程序:C:\ Windows \ system32 \ java.exe

R6034

应用程序尝试错误地加载C运行时库

请联系应用程序的支持团队以获取更多信息。

确定 H2>

这个例外:

线程“main”中的异常java.lang.UnsatisfiedLinkError:D:\ Program Files \ Micr

osoft Visual Studio 9.0 \ VC \ redist \ x86 \ Microsoft.VC90.CRT \ msvcr90.dll:动态链接库(DLL)初始化例程失败

at java.lang.ClassLoader $ NativeLibrary.load(Native Method)

at java.lang.ClassLoader.loadLibrary0(Unknown Source)

在java.lang.ClassLoader.loadLibrary(未知来源)

在java.lang.Runtime.load0(未知来源)

在java.lang.System.load(未知来源)

在com.ankur.FirstJNIExample。(FirstJNIExample.java:10)

找不到主类:com.ankur.FirstJNIExample。程序将会退出。

我迷失了。这么多的问题:

为什么我的dll依赖于msvcr90.dll?

我该如何加载这个dll?

我之前从未使用过dll。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值