我编写了一些代码来加载Java中的共享对象。这是示例代码:
public class helloworld
{
static
{
System.loadLibrary("calcJava");
}
public static void main(String [] args)
{
System.out.println("Hello");
}
}
共享对象“calcJava”进一步依赖于另一个共享对象。 libMath.so
当我尝试运行它时,它总是让我对来自依赖.so(libMath.so)的未定义符号错误感到不满意。
在执行java程序之前,这就是我正在做的事情:
1)将LD_LIBRARY_PATH设置为.so
2)将CLASSPATH设置为jar文件
3)使用“java helloworld -Djava.library.path = / path / to / shared / object1:/ path / to / shared / object2
运行java程序任何人都可以解释为什么我会收到UnsatisfiedLinkError?
这是stacktrace
线程“main”中的异常java.lang.UnsatisfiedLinkError:/path/to/libcalcJava.so:/path/to/libcalcJava.so:unfined defined symbol:_xxx_xxx_Xxx_xx at java.lang.ClassLoader $ NativeLibrary.load(Native Method) 在java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1938) 在java.lang.ClassLoader.loadLibrary(ClassLoader.java:1854) 在java.lang.Runtime.loadLibrary0(Runtime.java:870) 在java.lang.System.loadLibrary(System.java:1122) 在helloworld。(helloworld.java:6)
由于