2010-11-12 17 views
3

J'ai besoin de savoir si je fais les choses de manière incorrecte.Utilisation de javah -jni avec une structure de projet Eclipse

je la structure du projet suivant (un moment assez standard):

alt text

j'ai configuré javah comme outil externe comme celui-ci:

alt text

Quand je lance l'outil externe sur OSManager4Windows.java je m'attendais à trouver it_univpm_quickbackup_utils_OSManager4Windows.h dans bin/it/univpm/quickbackup/utils/ mais il est à l'intérieur bin. Est-ce exact? Ne devrait pas être dans le même répertoire du fichier .class?

+1

Merci pour votre capture d'écran - cela m'a beaucoup aidé. Juste une note - peut-être que ça aidera quelqu'un d'autre un jour - j'ai dû mettre le répertoire de travail à/bin/classes/avant que mon fichier d'en-tête ne soit créé. – marienke

Répondre

4

Le problème est que javah génère le fichier d'en-tête sur le répertoire dans lequel la commande a été exécutée (que vous avez spécifié le dossier bin). Il est logique de générer tous les en-têtes dans le même dossier, car généralement le projet c/C++ place tous les en-têtes dans le même dossier. Cependant, si vous voulez des dossiers spécifiques, la commande suivante génère les en-têtes dans le dossier src spécifique.

-d "${workspace_loc}${system_property:file.separator}${container_path}" ${java_type_name}