From: Henning, B. <bri...@na...> - 2002-09-13 17:26:50
|
Hello- i figured out how to compile the a java jni linked library. now i am getting an error at runtime. can someone tell me where i am going wrong. javac -classpath . Main.java javah -jni HelloWorld gcc -g -O2 -c -Ic:\jdk1.3.1\include -IC:\jdk1.3.1\include\win32 -g HelloWorldImp.c gcc -shared -o HelloWorldImp.dll -s HelloWorldImp.o java -classpath . Main Exception in thread "main" java.lang.UnsatisfiedLinkError: displayHelloWorld at HelloWorld.displayHelloWorld(Native Method) at Main.main(Main.java:3) thanks, brian //HelloWorld.java class HelloWorld { public native void displayHelloWorld(); static { try { System.loadLibrary("HelloWorldImp"); } catch( java.lang.UnsatisfiedLinkError e ) { System.out.println (e); } } } //HelloWorldImp.c #include <stdio.h> #include <stdlib.h> #include <jni.h> #include "HelloWorld.h" JNIEXPORT void JNICALL Java_HelloWorld_displayHelloWorld(JNIEnv *env, jobject obj) { printf("Hello World!\n"); return; } //Main class Main { public static void main(String[] args) { new HelloWorld().displayHelloWorld(); } } |
From: faraj M. <fa...@ne...> - 2002-09-14 18:06:56
|
as reported in the recent answer from Wu Yongwei : do something like : mingw32-g++.exe -g -O2 -c -I"C:\MinGW\include" -I"C:\j2sdk1.4.1\include" - I"C:\j2sdk1.4.1\include\win32" -I"C:\MinGW\include\c++" -I"C:\MinGW\includ e" -I"C:\j2sdk1.4.1\include" -I"C:\j2sdk1.4.1\include\win32" -g jtray.cpp dllwrap --driver-name=c++ -o systray.dll --add-stdcall-alias -s jtray.o and it will works.... ----- Original Message ----- From: "Henning, Brian" <bri...@na...> To: " (E-mail)" <min...@li...> Sent: Friday, September 13, 2002 7:25 PM Subject: [Mingw-users] jni revisited > Hello- > i figured out how to compile the a java jni linked library. > now i am getting an error at runtime. can someone tell me where > i am going wrong. > > javac -classpath . Main.java > javah -jni HelloWorld > gcc -g -O2 -c -Ic:\jdk1.3.1\include -IC:\jdk1.3.1\include\win32 -g > HelloWorldImp.c > gcc -shared -o HelloWorldImp.dll -s HelloWorldImp.o > java -classpath . Main > > Exception in thread "main" java.lang.UnsatisfiedLinkError: displayHelloWorld > at HelloWorld.displayHelloWorld(Native Method) > at Main.main(Main.java:3) > > > thanks, > brian > > > //HelloWorld.java > class HelloWorld { > public native void displayHelloWorld(); > > static { > try { > System.loadLibrary("HelloWorldImp"); > } > catch( java.lang.UnsatisfiedLinkError e ) { > System.out.println (e); > } > } > } > > //HelloWorldImp.c > #include <stdio.h> > #include <stdlib.h> > #include <jni.h> > #include "HelloWorld.h" > > JNIEXPORT void JNICALL Java_HelloWorld_displayHelloWorld(JNIEnv *env, > jobject obj) { > printf("Hello World!\n"); > return; > } > > //Main > class Main { > public static void main(String[] args) { > new HelloWorld().displayHelloWorld(); > } > } > > > ------------------------------------------------------- > This sf.net email is sponsored by:ThinkGeek > Welcome to geek heaven. > http://thinkgeek.com/sf > _______________________________________________ > MinGW-users mailing list > Min...@li... > > You may change your MinGW Account Options or unsubscribe at: > https://lists.sourceforge.net/lists/listinfo/mingw-users |