probleme de package avec JNI
bonjour,
mon probleme est le suivant:
j'ai crée un package jni avec le code
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
package jni;
public class HelloWorld{
static { System.loadLibrary("myDll");
//ou System.load("C:/Documents and Settings/diara/Bureau/jniprojet/myDll.dll");
}
public native void printCpp()
public static void main(String[] args) {
HelloWorld myHello =new HelloWorld ();
myHello .printCpp();
}
} |
je compile et je genere le fichier entete .h ( je le nomme jniDll) depuis la racine du projet
>javah jni.HelloWorld
ça donne le fichier jniDll.h
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class jni_HelloWorld */
#ifndef _Included_jni_HelloWorld
#define _Included_jni_HelloWorld
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: jni_HelloWorld
* Method: printCpp
* Signature: ()V
*/
JNIEXPORT void JNICALL Java_jni_HelloWorld_printCpp
(JNIEnv *, jobject);
#ifdef __cplusplus
}
#endif
#endif |
puis j'implemente ma dll
Code:
1 2 3 4 5 6
|
#include "JniDll.h"
JNIEXPORT void JNICALL Java_jni_HelloWorld_printCpp
(JNIEnv *env, jobject obj){
printf("Bonjour tout le monde");
} |
Mais quand j'execute mon .class HelloWorld j'obtiens:
Code:
1 2 3 4
|
Exception in thread "main" java.lang.UnsatisfiedLinkError:HelloWorld
at jni.HelloWorld(Native Method)
at jni.HelloWorld.main(HelloWorld.java:13) |
je galère sur ce probleme depuis hier j'ai chercher partout j'ai meme vu des cas de resolution mais ça marche toujours pas!
quelqu'un pourrait m'aider?