Utilisation de JNI sous Windows
Salut !
J'ai quelques soucis pour utiliser JNI
Tout d'abord, voila quelques infos concernant mon ordi, histoire de poser le décor :
- Win XP comme OS
- Eclipse pour compiler le JAVA
- Dev C pour compiler le C
Tous les tutos que j'ai consulté donnent cette méthode :
1- Ecrire code JAVA (avec appel de la dll) - ça c'est fait
2- Compiler code java (sauf que là j'ai un problème : eclipse veut pas compiler car il trouve pas le fichier dll, normal puisqu'on la créée à l'étape 4...)
3- Générer fichier .h avec javah (c'est quoi javah ? ça marche aussi avec windows ?)
4- Ecrire code C (en incluant le .h) - ça c'est fait aussi
5- "Enfin, il ne reste plus qu'a générer le fichier .dll" (point final... les rédacteurs de tutos ont pas pensé que c'était pas aussi évident pour les p'tits débutants comme moi ^^)
Voila mon code JAVA :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| public class VLCJNI {
public static native void SetVlcForeground();
static {
System.loadLibrary("SetVlcForegroundLib");
// appel du fichier dll
}
public static void main(String[] args) {
VLCJNI.SetVlcForeground();
// lancement du bout de code ecrit en C
}
} |
et mon code C (normalement le contenu n'a pas trop d'importance)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| #include <jni.h>
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include VLCJNI.h
JNIEXPORT void JNICALL
Java_VLCJNI_SetVlcForeground(JNIEnv *env, jobject obj)
{
HWND hvlc = FindWindow("wxWindowClassNR",NULL);
SetForegroundWindow(hvlc);
return 0;
} |
Quelqu'un pourrait m'expliquer clairement comment se servir de JNI avec Windows ?
Merci d'avance
Mad
Re: Utilisation de JNI sous Windows
Reprenons les étapes :
Citation:
Envoyé par madislak
1- Ecrire code JAVA (avec appel de la dll) - ça c'est fait
2- Compiler code java (sauf que là j'ai un problème : eclipse veut pas compiler car il trouve pas le fichier dll, normal puisqu'on la créée à l'étape 4...)
3- Générer fichier .h avec javah (c'est quoi javah ? ça marche aussi avec windows ?)
4- Ecrire code C (en incluant le .h) - ça c'est fait aussi
5- "Enfin, il ne reste plus qu'a générer le fichier .dll" (point final... les rédacteurs de tutos ont pas pensé que c'était pas aussi évident pour les p'tits débutants comme moi ^^)
1 - La 1 est faite !
2 - Pour compiler ta classe, j'utiliserais directement javac fourni dans le JDK de JAVA...C'est bizarre qu'Eclipse ne veuille pas le compiler...
3 - Utilise javah fourni dans le JDK
4 - C'est fait !
5- Reste à savoir quel compilateur C tu utilises
Re: Utilisation de JNI sous Windows
Salut,
Citation:
Envoyé par madislak
2- Compiler code java (sauf que là j'ai un problème : eclipse veut pas compiler car il trouve pas le fichier dll, normal puisqu'on la créée à l'étape 4...)
Tu ne confondrais pas "compilation" et "exécution" par hazard ?
a++