请问JNI加载多个本地库的问题
我已经有一个C++实现的库liba.so,然后我想用JNI提供Java接口,编写.java文件,生成.class,然后javah -jni,然后实现JNI原型的函数,编译成一个新的libb.so,都没问题。在我的Java接口中有:
static
{
System.loadLibrary("a");
System.loadLibrary("b");
}
可运行时,老出错,不能解析liba.so中的符号。我改变两个库加载的顺序,没用!
于是,重新把liba和libb的源文件一起编译,生成新的libc.so,然后
static
{
System.loadLibrary("c");
}
然后运行,这下没问题了。
环境:redhat linux 9, jsdk1.4.2
这我就不明白了,难道jvm一次只能加载一个本地库??那如果各个so之间有依赖关系怎么办?
请教大虾,谢谢!!