bonjour,

mon probleme est le suivant:

j'ai crée un package jni avec le code

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();
}
}
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 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
#endif
puis j'implemente ma dll
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");
}
Mais quand j'execute mon .class HelloWorld j'obtiens:
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)
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?