2016-07-29 162 views
1

我遵循這個JNI ref從java調用c函數。如何在Linux中設置java.library.path我試圖JNI

在最後一步,我跟着錯誤味精後,我鍵入的Java hellojni

Exception in thread "main" java.lang.UnsatisfiedLinkError: no helloJni in

java.library.path

at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1864)

at java.lang.Runtime.loadLibrary0(Runtime.java:870)

at java.lang.System.loadLibrary(System.java:1122)

at HelloJni.(HelloJni.java:13)

我嘗試建立的java.library.path,所以我鍵入的java -Djava.library。路徑=。你好jni

但是這不適合我,我仍然有同樣的錯誤信息。

另外,我試試export LD_LIBRARY_PATH = $ LD_LIBRARY_PATH:/ sybase/IQ-16_0/jim_samples/udf/hellojni,但仍然沒有工作。

+0

您是否在您的Helloxxxx.java中加載了該庫 static靜態{System.loadLibrary(「Helloxxxx」); } – kuhajeyan

回答

0

這似乎是路徑問題,在您的libhellojni.so沒有在 「SYBASE/IQ-16_0/jim_samples/UDF/hellojni」 目錄找到。

記住「LIB」前綴是在你的xxx.so文件重要(如果你是在Linux上運行這一點),只是hellojni.so將無法​​正常工作。

+0

我不適合THX。 – Jim