gpt4 book ai didi

java - 如何使用使 C 程序部分调用 JNI 中的 .a 库

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:04:31 24 4
gpt4 key购买 nike

我是 JNI 的新手,我想在 java 中调用 c 函数。

C 程序使用 .a 库。但是,为了创建用于生成 .so 库的目标文件。

我无法将 c 程序链接到 .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库?

提前致谢!

最佳答案

试试这个:

gcc -shared JNIFitnessPart.o libtoolkit.a -lm \
-o libJNIFitness.so -Wl,-soname,libJNIFitness.so

GCC 可以(并且应该)使用链接器包装器,因此它可以轻松地组装您的二进制文件。

关于java - 如何使用使 C 程序部分调用 JNI 中的 .a 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15389207/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com