[英]UnsatisfiedLinkError while loading native library
I'm trying to use native library from my java program. 我正在尝试使用Java程序中的本机库。 I can successfully load
libpHash.so
in /usr/local/lib
by the following command. 我可以通过以下命令在
/usr/local/lib
成功加载libpHash.so
。
System.loadLibrary("pHash");
But when I trying to load libpHash-jni.so
in the same folder by calling System.loadLibrary("pHash-jni")
I get the following error: 但是,当我尝试通过调用
System.loadLibrary("pHash-jni")
在同一文件夹中加载libpHash-jni.so
,出现以下错误:
Exception in thread "main" java.lang.UnsatisfiedLinkError: /usr/local/lib/libpHash-jni.so: libpHash.so.0: cannot open shared object file: No such file or directory
线程“主”中的异常java.lang.UnsatisfiedLinkError:/usr/local/lib/libpHash-jni.so:libpHash.so.0:无法打开共享对象文件:没有这样的文件或目录
Why? 为什么?
Some additional information: 一些其他信息:
libpHash.so
and libpHash.so.0
are both symbolic links to libpHash.so.0.0.0
libpHash.so
和libpHash.so.0
都是符号链接libpHash.so.0.0.0
libpHash.so.0.0.0
and libpHash-jni.so
are both ELF 64-bit LSB shared object libpHash.so.0.0.0
和libpHash-jni.so
都是ELF 64位LSB共享对象 One possible solution is updating the dynamic linker cache with ldconfig
. 一种可能的解决方案是使用
ldconfig
更新动态链接器缓存。 If this doesn't solve the problem you might also try setting LD_LIBRARY_PATH
如果这样不能解决问题,您也可以尝试设置
LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/usr/local/lib
and restart your program. 并重新启动程序。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.