Jni.h sous windows pour linux avec cygwin [Résolu]

Signaler
Messages postés
84
Date d'inscription
mardi 19 octobre 2004
Statut
Membre
Dernière intervention
6 octobre 2006
-
Messages postés
84
Date d'inscription
mardi 19 octobre 2004
Statut
Membre
Dernière intervention
6 octobre 2006
-
Bonjour ;)



Description du probleme:

Je suis sous window et j'utilise cygwin. Ce qui signifie que j'ai acces a un environnement linux pour developper.

Depuis mon code Java je veux charger une dll. J'utilise le JNI. A
l'aide de la commande 'java -h', je crée un header (.h) pour ecrire mes
fonctions natives sous C, sous Linux. Le probleme c'est que ce header
est un .h destiné a l'environnement windows et donc je ne peux pas
l'utiliser tel quel sous mon environnement cygwin (sous Linux)



Demande :

Est ce que quelqu'un aurait une solution, ou pourrait me faire parvenir les headers du jni pour linux ?



Vers l'infini et au delà... [Q]

4 réponses

Messages postés
333
Date d'inscription
dimanche 25 mai 2003
Statut
Membre
Dernière intervention
23 novembre 2009
1
Ok, en effet, ces headers là sont différents.

Je te donnes donc les .h dans le répertoire $JDK_HOME/include/linux/

c'est pris sur une version 1.4.2.01



voilà :)









<hr size= "2" width="100%"> jawt_md.h

<hr size ="2" width= "100%">/*

* @(#)jawt_md.h 1.10 03/01/23

*

* Copyright 2003 Sun Microsystems, Inc. All rights reserved.

* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.

*/



#ifndef _JAVASOFT_JAWT_MD_H_

#define _JAVASOFT_JAWT_MD_H_



#include <X11/Xlib.h>

#include <X11/Xutil.h>

#include <X11/Intrinsic.h>

#include "jawt.h"



#ifdef __cplusplus

extern "C" {

#endif



/*

* X11-specific declarations for AWT native interface.

* See notes in jawt.h for an example of use.

*/

typedef struct jawt_X11DrawingSurfaceInfo {

Drawable drawable;

Display* display;

VisualID visualID;

Colormap colormapID;

int depth;

/*

* Since 1.4

* Returns a pixel value from a set of RGB values.

* This is useful for paletted color (256 color) modes.

*/

int (JNICALL *GetAWTColor)(JAWT_DrawingSurface* ds,

int r, int g, int b);

} JAWT_X11DrawingSurfaceInfo;



#ifdef __cplusplus

}

#endif



#endif /* !_JAVASOFT_JAWT_MD_H_ */

<hr size="2" width="100%">




<hr size="2" width="100%"> jni_md.h

<hr size ="2" width="100%">/*

* @(#)jni_md.h 1.17 03/01/23

*

* Copyright 2003 Sun Microsystems, Inc. All rights reserved.

* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.

*/



#ifndef _JAVASOFT_JNI_MD_H_

#define _JAVASOFT_JNI_MD_H_



#define JNIEXPORT

#define JNIIMPORT

#define JNICALL



typedef int jint;

#ifdef _LP64 /* 64-bit Solaris */

typedef long jlong;

#else

typedef long long jlong;

#endif



typedef signed char jbyte;



#endif /* !_JAVASOFT_JNI_MD_H_ */

<hr size="2" width="100%">






Dobel
[Une fois rien, c'est rien; deux fois
rien, ce n'est pas beaucoup, mais pour trois fois rien, on peut déjà
s'acheter quelque chose, et pour pas cher]
Messages postés
333
Date d'inscription
dimanche 25 mai 2003
Statut
Membre
Dernière intervention
23 novembre 2009
1
Je crois que les headers créés par javah sont indépendants de la plateforme.

si tu veux, je peux te faire parvenir les headers du jdk linux, ou te gérérer ceux pour ton programme sous linux.

si tu as besoin de m'envoyer des fichiers (ou inverse), contacte moi
par MP, pour que je te passe une adresse email (ou inverse :-) )


A+
Dobel
[Une fois rien, c'est rien; deux fois
rien, ce n'est pas beaucoup, mais pour trois fois rien, on peut déjà
s'acheter quelque chose, et pour pas cher]
Messages postés
84
Date d'inscription
mardi 19 octobre 2004
Statut
Membre
Dernière intervention
6 octobre 2006

En fait non, les headers ne sont pas exactement indépendant de la
plateforme. A voir la maniere dont ces header sont rangé dans
l'arborescence de /Java (c'est a dire dans un rep Win32).

Ca serait sympa de ta part que tu me fasses parvenir les headers sous linux afin que je m en rende mieux compte ;)

Vers l'infini et au delà... [Q]
Messages postés
84
Date d'inscription
mardi 19 octobre 2004
Statut
Membre
Dernière intervention
6 octobre 2006

Salut

Je te remercie, cela va m eviter de chercher de partout

Vers l'infini et au delà... [Q]