en suspens de l'inclusion dans le java en-tête dans la JNI
C'est mon fichier java pour laquelle je voulais générer un fichier d'en-tête à l'aide de javah pour android opencv application.
package com.hosa;
public class edgejava{
static{
System.loadLibrary("edgejava");
}
public native int main(``);
}
Généré le fichier d'en-tête est comme ci-dessous.
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class com_hosa_edgejava */
#ifndef _Included_com_hosa_edgejava
#define _Included_com_hosa_edgejava
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: com_hosa_edgejava
* Method: main
* Signature: ()I
*/
JNIEXPORT jint JNICALL Java_com_hosa_edgejava_main
(JNIEnv *, jobject);
#ifdef __cplusplus
}
#endif
#endif
l'éclipse est de souligner que l'inclusion de la jni.h dans le fichier d'en-tête n'est pas résolue.
quelles sont les mesures à prendre pour résoudre ce problème????
ce qui concerne,
srijith
Je suis pas familier avec eclipse, mais
$JRE_HOME/include
répertoire doit être dans la liste des répertoires include.OriginalL'auteur srijith | 2012-04-10
Vous devez vous connecter pour publier un commentaire.
Je vais avoir des problèmes avec cette ainsi donc, pour toute personne qui trébuche sur ce ...
J'ai résolu le problème de la JNI de la question de l'eclipse - vous peut-être déjà fait l'étape 1 ou quelque chose de similaire
Fichier -> New -> Autre-> C++ > Convertir en C++ Projet
Clic droit sur Chef de Projet -> Propriétés -> C++ Général -> Chemins d'accès Et les Symboles
Ajouter un chemin semblable à ce sous GNU et GNUC++ Langue Entrées
/NDK/plates-formes/Android-9/arch-bras/usr/include
Votre chemin sera différent dépend de la façon dont vous êtes l'installation, la plate-forme etc.
Une fois fait, puis de reconstruire les index quand il vous invite
Fermez votre projet, de l'ouvrir à nouveau, puis nettoyez-construire (ou cela peut se produire immédiatement)
Dans mon cas, la JNI.h a ensuite été trouvé MAIS le JNIEnv etc. étaient encore inconnu, même s'ils sont dans la JNI.h fichier.
Notez également pour toute personne ayant ce problème il l'habitude de vous arrêter de bâtiment, vous avez juste besoin de fermer la délinquance des fichiers, puis ouvrez et fermez votre projet de se débarrasser de ces erreurs (quelle douleur)
MISE À JOUR: CORRECTION!
Dans l'édition ci-Dessus dans l'Indigo effectuer les opérations suivantes à partir du menu /dialogue
Fenêtre->Préférences->C/C++->Index cocher la case "Index Inutilisés en-Têtes" réindexer/construire si nécessaire
Vous pourriez aussi avoir besoin d'ajouter "/NDK/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/lib/gcc/arm-linux-androideabi/4.4.3/include" au-dessus de l'inclure je l'ai mentionné ci-dessus à la langue des entrées.
Tous les symboles sont maintenant reconnues, Espérons que cela aide quelqu'un, il a été me rend fou.
Fenêtre->Préférences->C/C++->Index cocher la case "Index Inutilisés en-Têtes" réindexer/construire si nécessaire .. a Fonctionné pour moi.
OriginalL'auteur Idistic
FIXE!
Ajouter à
Application.mk
:APP_STL := gnustl_shared
Aller à
Properties -> C/C++ General -> Preprocessor Include-> Entries -> Add -> Include Directory -> File System Path
, et sélectionnez le chemin d'accès de l'inclut comme:!!! Vérifier
"Contains system headers"
case à cocher pour chaque chemin d'accès inclus. !!!Aller à
Properties -> C/C++ General -> Preprocessor Include-> Providers -> Check CDT GCC Built-in Compiler Settings -> OK
Nettoyer et reconstruire votre projet.
OriginalL'auteur Volodymyr Kulyk
J'ai eu le même problème avec Android JNI.
Je l'ai corrigé en pointant le projet de la chemin de de android jni.h dans le NDK source
Voir comment télécharger NDK à partir d'ici:
https://developer.android.com/tools/sdk/ndk/index.html
De détails sur la correction est ici:
Android Ajouter le support Natif - non résolue jni.h, android/log.h etc
OriginalL'auteur Sriram Murali
Dans mon cas, j'ai juste fermé et ouvrez le projet, puis les erreurs ont disparu.
OriginalL'auteur hao