[問題] Linux上使用native call的問題
請問大家
我寫了ShowMessage.java,和MsgImp1.c檔
並且以下列的方式compile
javac ShowMessage.java
javah ShowMessage
gcc -fPIC -c MsgImp1.c -o MsgImp1.o
gcc -shared -o libMsgImp1.so MsgImp1.o
以上都沒有問題
可是在執行java的時候
java -Djava.library.path=XXXX/XXXX ShowMessage
卻出現以下錯誤
Exception in thread "main" java.lang.UnsatisfiedLinkError:
/home/madic/test/libMsgImp1.so: /home/madic/test/libMsgImp1.so: undefined
symbol: __gxx_personality_v0
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1751)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1676)
at java.lang.Runtime.loadLibrary0(Runtime.java:822)
at java.lang.System.loadLibrary(System.java:992)
at ShowMessage.<clinit>(ShowMessage.java:4)
請問這是什麼原因?要怎麼解決呢?
謝謝大家的解答
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.211.182
java 近期熱門文章
PTT數位生活區 即時熱門文章