bonjour,
mon probleme est le suivant:
j'ai crée un package jni avec le code
je compile et je genere le fichier entete .h ( je le nomme jniDll) depuis la racine du projet
Code java : Sélectionner tout - Visualiser dans une fenêtre à part
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(); } }
>javah jni.HelloWorld
ça donne le fichier jniDll.h
puis j'implemente ma dll
Code c++ : Sélectionner tout - Visualiser dans une fenêtre à part
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 #endifMais quand j'execute mon .class HelloWorld j'obtiens:
Code c++ : Sélectionner tout - Visualiser dans une fenêtre à part
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"); }
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!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Exception in thread "main" java.lang.UnsatisfiedLinkError:HelloWorld at jni.HelloWorld(Native Method) at jni.HelloWorld.main(HelloWorld.java:13)
quelqu'un pourrait m'aider?
Partager