jni Exception in thread "main" java.lang.UnsatisfiedLinkError: xxx.dll: 此操作仅在应用容器上下文中有效。

在java 程序调用dll时产生如下错误:

Exception in thread "main" java.lang.UnsatisfiedLinkError: xxx.dll: 此操作仅在应用容器上下文中有效。


产生原因:

这是因为在制作dll时候,是按照如下步骤进行的:

1、方法一:

操作“ 文件 | 新建 | 项目... ”,在左侧选择“ Visual C++ | win32” ,主栏中选择“Dll(应用程序)”。下边“名称”填入“jniWin32dll”,点确定。

这样制作的dll的属性是:

vs2012中:

这种方法创建制作出来的dll就会出现如上的错误。

要想执行正确就应该按照如下的方法进行制作dll

2、方法二:

I)、操作“ 文件 | 新建 | 项目... ”,在左侧选择“Visual C++ | win32 ” ,主栏中选择“win32 项目”。下边“名称”填入“jniWin32”,点确定。

Ii)、在win32向导中,选择“Dll”。

vs2012中:


按照这样的方式制作的dll,在java 程序调用的时候就是正常的


PS:但是如果在红色方框中的“ 否” 改为 “是”,

那么制作出来的dll就又会出现如上的错误。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值