作者madic (噜)
看板java
标题[问题] Linux上使用native call的问题
时间Thu Apr 13 18:05:20 2006
请问大家
我写了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