Bonjour,
Je cherche à utiliser une DLL dans mon application Java.
Pour cela, j'ai utilisé une méthode native coucou() que j'ai définie dans la classe Test.java.
A partir de cette classe je génère un fichier Test.h :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 public class Test { static {System.loadLibrary("Projet"); } public native int coucou(); public Test(){} }
Avec Visual C++, j'ai créé un projet que j'ai nommé "Projet"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 #include <jni.h> #ifndef _Included_Test #define _Included_Test #ifdef __cplusplus extern "C" { #endif JNIEXPORT jint JNICALL Java_Test_coucou (JNIEnv *, jobject); #ifdef __cplusplus } #endif #endif
J'ai un programme Test.cJ'ai aussi défini un Test.def dans le projet C :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 #include "Test.h" #include <windows.h> BOOL WINAPI DllMain(HINSTANCE hinstDll, DWORD fdwReason, LPVOID lpvReserved){ return TRUE; } JNIEXPORT jint JNICALL Java_Test_coucou (JNIEnv *env, jobject jtest) { // je retourne une valeur egale à 1 return 1; }Pendant l'exécution j'ai toujours cette ereur dans la console du serveur JBoss :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 EXPORTS Java_Test_coucouQuelqu'un aurait-il une idée du problème ?java.lang.UnsatisfieldLinkError : coucou at .. (Native Method)
Merci d'avance pour votre aide.
Partager