这个rrd_jinterface.c是别人已经写好的。 我先javah Interface,生成了Interface.h,然后我对比了Interface.h里面的函数声明和rrd_jinterface.c里面的函数声明,确信一致。 至于rrd_create的命名和实现,都是别人已经做好的,曾经成功调用过,应该没有问题。另外,编译出错提示:usr/lib/gcc-lib/i386-redhat-linux/2.96/../../../crt1.o: In function `_start': /usr/lib/gcc-lib/i386-redhat-linux/2.96/../../../crt1.o(.text+0x18): 是什么意思?多谢指教。
java.lang.UnsatisfiedLinkError: /lib/libjrrd.so: /lib/libjrrd.so: undefined symbol: rrd_create
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
... ... ...
unexpected error, reason: /lib/libjrrd.so: /lib/libjrrd.so: undefined symbol: rrd_create
我编译生成的.so文件比正确的.so(以前成功调用时留下的)小很多,所以估计是.so的问题
我先javah Interface,生成了Interface.h,然后我对比了Interface.h里面的函数声明和rrd_jinterface.c里面的函数声明,确信一致。
至于rrd_create的命名和实现,都是别人已经做好的,曾经成功调用过,应该没有问题。另外,编译出错提示:usr/lib/gcc-lib/i386-redhat-linux/2.96/../../../crt1.o: In function `_start':
/usr/lib/gcc-lib/i386-redhat-linux/2.96/../../../crt1.o(.text+0x18): 是什么意思?多谢指教。
(可能这不能帮你解决问题)。