Мне нужно, чтобы в моем приложении Java вызывался некоторый нативный код C ++, поэтому я использую 'System.loadLibrary (String)' для загрузки требуемого файла .so, но когда я пытаюсь выполнить приложение Java из Eclipse, я получаю эту ошибкусообщение:
Exception in thread "main" java.lang.UnsatisfiedLinkError: no libdebug in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1734)
at java.lang.Runtime.loadLibrary0(Runtime.java:823)
at java.lang.System.loadLibrary(System.java:1028)
at org.server.util.Debug.<clinit>(Debug.java:5)
at org.server.Server.main(Server.java:18)
Значение свойства пути к библиотеке:
java.library.path="/home/benjamin/Downloads/jdk1.6.0_24/jre/lib/i386/client:/home/benjamin/Downloads/jdk1.6.0_24/jre/lib/i386"
И я поместил libdebug.so в /home/benjamin/Downloads/jdk1.6.0_24/jre/lib/i386 /.Файл .so был скомпилирован следующим образом:
g++ -I /home/benjamin/Downloads/jdk1.6.0_24/include
-I /home/benjamin/Downloads/jdk1.6.0_24/include/linux -fPIC -c debug.cpp
-o /home/benjamin/workspace/server/bin/linux-x86/debug.o
и связан следующим образом:
ld -shared -soname Debug.so.1 -o Debug.so.1.0 -lc debug.o