I am trying to build my first native program in java.The .c and .h file compiled well but when running java code I get this error. Here are my java and c source file
Main.java
public class Main{
public native void sayHello();
static{
System.loadLibrary("hello");
}
public static void main(String[] args) {
Main main = new Main();
main.sayHello();
}
}
Hello.c
#include <jni.h>
#include "stdio.h"
#include "Main.h"
JNIEXPORT void JNICALL Java_Main_sayHello
(JNIEnv *env, jobject obj)
{
printf("Hello World \n");
return;
}
.C file compilation
C:.../gcc -I"C:\Program Files\Java\jdk1.7.0_79\include"
-I "C:\Program Files\Java\jdk1.7.0_79\include\win32" -o hello.dll -shared Hello.c
Running Java File
C:.../javac Main.java
C:.../java Main
Exception in thread "main" java.lang.UnsatisfiedLinkError: Main.sayHello()V
at Main.sayHello(Native Method)
at Main.main(Main.java:8)
Aucun commentaire:
Enregistrer un commentaire