现在我用JNI工作。JNI在linux(Cent6):异常线程 “main” java.lang.UnsatisfiedLinkError中
我做了如下的事情:
我做HelloJNI.java。它只是链接库libhello.so。
static { System.loadLibrary("hello"); }
这样。当然我也有身体,但没什么特别的。
然后我做了class文件,C文件和头文件。 我吩咐
#javac HelloJNI.java #javah -classpath /usr/guest/workspace/path/ -jni package.HelloJNI no errors till now.
我做libhello.so。
# gcc -shared -fpic -o libhello.so -I/usr/java/jdk1.7.0_21/include -I/usr/java/jdk1.7.0_21/include/linux HelloJNI.c
当我在eclipse中运行这个项目时,错误如下所示。
Exception in thread "main" java.lang.UnsatisfiedLinkError: no hello in java.library.path at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1860) at java.lang.Runtime.loadLibrary0(Runtime.java:845) at java.lang.System.loadLibrary(System.java:1084) at org.owls.jni.HelloJNI.<clinit>(HelloJNI.java:7)
我已经试过这一个,但不起作用。
# chcon -t texrel_shlib_t libhello.so
感谢您的阅读,你的明智的解决方案:d
- 有人谈论PATH的事情。但我不明白该放哪一行。