我是JNI的新手,我正试图在java中调用c函数。
C程序使用.a库。但是,为了创建用于生成.so库的目标文件。
我无法将c pragram链接到.a库。我使用的命令是
gcc -I./toolkithdir/ -I/usr/lib/jvm/java-6-openjdk-i386/include/ -c -fPIC JNIFitnessPart.c -o JNIFitnessPart.o libtoolkit.a -lm
,由于使用了-c选项,因此不会链接libtoolkit.a。
如何在java中调用c函数,c函数也可以使用.a库?
提前致谢!
答案 0 :(得分:1)
试试这个:
gcc -shared JNIFitnessPart.o libtoolkit.a -lm \
-o libJNIFitness.so -Wl,-soname,libJNIFitness.so
GCC可以(并且应该)使用链接器包装器,因此它可以轻松地组装二进制文件。