Hey all,
JNI on Ubuntu 8.10 using Eclipse and gcc (Standard with Ubuntu if there are flavours) i can't seem to load my library despite the make file creating it succesfully.
The main java class is as follows;
class Hello {
public native void sayHello();
static {
System.loadLibrary("hello.so");
}
public static void main(String[] args) {
Hello h = new Hello();
h.sayHello();
}
}
My make file is as such;
all : hello.so
hello.so : Hello.o
gcc -shared -o hello.so Hello.o
Hello.o : Hello.c Hello.h
gcc -I/usr/lib/jvm/java-6-sun/include -I/usr/lib/jvm/java-6-sun/include/linux -c Hello.c -o Hello.o
Hello.h : Hello.class
javah -jni Hello
clean :
-del Hello.h
-del Hello.o
The rest of the code can be found on my project page (code.google.com/p/miffed/source/browse/#svn/trunk/JNI), there isn't much more but I'd rather keep the length of this query down.
The error I'm getting is as follows;
Exception in thread "main" java.lang.UnsatisfiedLinkError: no hello.so in java.library.path
If I use an explicit path;
System.loadLibrary("/home/gavin/Work/workspace/JNI/hello.so");
Then it works, but I'd much rather not use an explicit path if possible.
Thanks in advance!!
Gavin