当前位置: 技术问答>java相关
Linux下Java调用C的小问题
来源: 互联网 发布时间:2015-08-16
本文导语: Interface.java生成Interface.class; .c已经编译成了libjrrd.so,放在/opt/OpenNMS/lib下面,LD_LIBRARY_PATH=/opt/OpenNMS/lib, 执行java Interface总提示“no libjrrd in java.library.path”; 请问这是什么原因?如何解决? | ...
Interface.java生成Interface.class;
.c已经编译成了libjrrd.so,放在/opt/OpenNMS/lib下面,LD_LIBRARY_PATH=/opt/OpenNMS/lib,
执行java Interface总提示“no libjrrd in java.library.path”;
请问这是什么原因?如何解决?
.c已经编译成了libjrrd.so,放在/opt/OpenNMS/lib下面,LD_LIBRARY_PATH=/opt/OpenNMS/lib,
执行java Interface总提示“no libjrrd in java.library.path”;
请问这是什么原因?如何解决?
|
我试了试
用
export LD_LIBRARY_PATH=/opt/OpenNMS/lib
java xxx
应该是可以的
如果不行,请检查你的/opt/OpenNMS/lib下面是否有libjrrd.so
另外你的java代码中应该是System.loadLibrary("jrrd")而不是
System.loadLibrary("libjrrd")因为系统会自动加上lib前缀的
用
export LD_LIBRARY_PATH=/opt/OpenNMS/lib
java xxx
应该是可以的
如果不行,请检查你的/opt/OpenNMS/lib下面是否有libjrrd.so
另外你的java代码中应该是System.loadLibrary("jrrd")而不是
System.loadLibrary("libjrrd")因为系统会自动加上lib前缀的