2013-04-20 53 views
1

我是JNI的新手。在JNI中链接静态库

我想将静态库(比如说libFoo.a)链接到我正在创建的动态库中。这个动态库是从我的Java类中调用的。

这可能吗?如果是这样如何?

gcc -I$JAVA_DIR/include -I$JAVA_DIR/include/linux -o libXY.so -shared jni/xy.c libFoo.a 

回答

1

问:我想将一个静态库(比如说libFoo.a)链接到我创建的动态库中。这可能吗?答:当然可以。只需将您的.a静态库包含在您建立共享.so的链接命令中即可。

这与JNI本身无关 - 任何共享二进制文件(* nix .so或Windows .dll)都可以用这种方式链接到共享库中。

这些链接应该有所帮助:

+0

什么样libX.la.基于的libtool .la共享库我可以使用相同的方法来包含它吗?我尝试过,但得到一些错误。 – 2013-04-21 10:35:58