第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

不知道什么原因jnative的使用始終報錯?該怎么解決?

不知道什么原因jnative的使用始終報錯?該怎么解決?

慕森卡 2022-04-21 15:11:38
org.xvolks.jnative.exceptions.NativeException: Function add not foundat org.xvolks.jnative.JNative.nLoadLibrary(Native Method)at org.xvolks.jnative.JNative.<init>(JNative.java:348)at org.xvolks.jnative.JNative.<init>(JNative.java:269)at NewTest.main(NewTest.java:13)JNativeCpp.dll放在對應(yīng)的位置了,可以確定的是調(diào)用的庫中存在該函數(shù),請高手指教附代碼:import org.xvolks.jnative.JNative;import org.xvolks.jnative.Type;import org.xvolks.jnative.exceptions.NativeException;public class NewTest{public static void main(String[] args) throws NativeException, IllegalAccessException{JNative n = null;try{//System.loadLibrary("jnative");n = new JNative("jnative.dll", "add");n.setRetVal(Type.INT);n.setParameter(0 ,1) ;n.setParameter(1, 2);n.invoke();System.out.println(n.getDLLName());}catch(Exception e){e.printStackTrace();}finally{if(n!=null)n.dispose();}}}
查看完整描述

2 回答

?
慕蓋茨4494581

TA貢獻1850條經(jīng)驗 獲得超11個贊

 jnative的使用始終報錯是路徑出現(xiàn)問題
  我的路徑看圖
  public class HelloWorld {
  //本地方法
  public native void sayHello(User u);
  //加載動態(tài)庫
  static {
  System.loadLibrary("hello");
  }
  //本類方法
  public void sayHello(String str){
  System.out.println(str);
  }
  /**
  * @param args
  */
  public static void main(String[] args) {
  // TODO Auto-generated method stub
  HelloWorld hw = new HelloWorld();
  //java
  hw.sayHello("Hello World for java!");
  //jni
  User u = new User(10,"zou");
  hw.sayHello(u);
  }
  }
  1、環(huán)境設(shè)置。
  JNative的調(diào)試信息需要打開才能更清楚些,要不總是說沒加載庫,跟沒說一樣。
  System.setProperty("jnative.debug", "true");
  如果調(diào)試信息里有System.LoadLibrary(),說明沒有加載JNativeCpp.dll,指定全路徑即可,雙斜杠哦。
  System.setProperty("jnative.loadNative", "D:\\Test\\JNativeCpp.dll");
  2、lib庫路徑問題
  windows
  在windows下需要把調(diào)用的dll路徑設(shè)置到環(huán)境變量PATH中,除非你不介意拷到win32中,dll依賴的庫也得在PATH或win32中。
  linux
  linux下同樣需要設(shè)置環(huán)境變量,編輯bashrc,添加 export LD_LIBRARY=so路徑,依賴的庫也得在PATH中,除非都放在/usr/lib/下
  3、lib庫名稱問題
  無論linux還是windows在JNative的構(gòu)造函數(shù)中的lib庫名字為庫全名,包括擴展名dll、so,而且so需要包括前面的‘lib’,貌似與網(wǎng)上說的不太一樣。
  4、資源釋放問題
  有些設(shè)備需要先初始化在操作,最后釋放,所有功能都分散在不同函數(shù)中,JNative需要有個靜態(tài)的實例,每次創(chuàng)建調(diào)用函數(shù)時lib庫依舊是加載的。



查看完整回答
反對 回復(fù) 2022-04-24
?
叮當(dāng)貓咪

TA貢獻1776條經(jīng)驗 獲得超12個贊

你沒有導(dǎo)入JNative的Jar包..或是導(dǎo)入沒有導(dǎo)入好...
你再仔細(xì)查一下... 我想應(yīng)該是這個原因...因為
它根本就找不到 add 方法!

查看完整回答
反對 回復(fù) 2022-04-24
  • 2 回答
  • 0 關(guān)注
  • 347 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號