JNative library not loaded, sorry !

今天用java来调C++的dll总是出现JNative library not loaded, sorry !

在网上看了很多资料大多都是说要把jnative的dll和要用的dll拷到system32目录下,可是我照做了还是错。

我用的是win7 64位,jdk也是64位的,最后把jdk改为32位的,就没有报这个错了

在Linux上使用jnative.jar的方法与在Windows上略有不同,主要是需要注意以下几个问题: 1. 首先需要安装Java开发工具包(JDK)和C/C++开发工具包,可以使用以下命令在Ubuntu中安装: ``` sudo apt-get install default-jdk build-essential ``` 2. 然后需要下载并解压jnative.jar文件。可以在GitHub上找到最新版本的jnative.jar文件。 3. 在Java代码中使用jnative.jar加载.so文件和调用本地方法的方法与在Windows中略有不同。在Linux中,需要在Java命令行中指定.so文件的路径和jnative.jar文件的路径,例如: ``` java -Djnative.library.path=/path/to/libs -classpath /path/to/jnative.jar:/path/to/your/class YourClass ``` 其中,/path/to/libs是包含.so文件的目录的路径,/path/to/jnative.jar是jnative.jar文件的路径,YourClass是包含本地方法调用的Java类。 4. 在C/C++代码中实现本地方法的方法与在Windows中相同。需要注意的是,在Linux中需要使用C/C++编译器生成共享库文件(.so文件),例如: ``` gcc -shared -o libmylibrary.so MyLibrary.c ``` 其中,MyLibrary.c是包含本地方法实现的C/C++源代码文件。 如果仍然无法加载本地库文件,请检查相关的路径和库文件是否正确。你可以使用ldd命令查看.so文件依赖的库文件是否可用,例如: ``` ldd /path/to/libs/mylibrary.so ``` 这将列出.so文件依赖的所有库文件。如果其中有任何库文件无法找到,请检查系统是否安装了所有必需的库文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值