La fixation de l'Éclipse des erreurs lors de l'utilisation d'Android NDK et std::vector
J'utilise eclipse pour développer une application android qui utilise également le ndk. J'ai vecteurs dans mon application et j'ai fait le nécessaire pour les obtenir en incluant
APP_STL := stlport_static
Dans mon Application.mk
Tout fonctionne bien, il compile et s'exécute, mais Eclipse continue de me donner des erreurs lorsque j'utilise les vecteurs
std::vector<int> blah
par exemple crée une erreur. Si je supprime l'erreur et continuer, elle compile et fonctionne très bien.
J'ai ajouté
${NDKROOT}/sources/cxx-stl/gnu-libstdc++/include
Dans mon projet de config sous C++ Général -> Chemins d'accès et de Symboles -> inclure
Il résout #include <vector>
fine (avant j'ai ajouté le chemin d'accès ci-dessus, j'ai eu une erreur pour cela), mais je reçois encore des erreurs à l'aide de vecteurs.
Comment puis-je obtenir eclipse pour arrêter de me donner des erreurs pour cela?
EDIT:
exemple d'erreur: Symbol 'vector' could not be resolved
EDIT 2:
J'ai essayé d'ajouter
using namespace std;
et puis en utilisant le vecteur de blabla et qui provoque une erreur différents:
Invalid arguments de modèle
Vous avez raison, j'ai mis à jour la question avec les erreurs spécifiques.
Ah, OK. Je pense que je sais ce qui est le problème ici, mais je ne sais pas quelle est la solution. sons comme vous êtes de mélange de Java et de C++, mais le C++ partie a lui-même un peu "confus". Même chose m'est arrivé avec des droites C. j'ai abandonné et suis retourné à Vim, mais qui n'est pas très utile si vous voulez coller avec Eclipse.
J'ai suivi ce petit guide qui, permettez-moi de créer un mixte C++ et Java du projet : mhandroid.wordpress.com/2011/01/23/... Elle fonctionne plutôt bien d'autres que le problème ci-dessus. Tous les autres fichier d'en-tête et des références (par exemple, j'utilise le android de journalisation en-tête), j'ai utilisé ont été retrouvés, sauf pour des choses comme le problème ci-dessus pour les choses dans le stlport (mais elle n'trouver les fichiers d'en-tête)
OriginalL'auteur nkassis | 2011-10-05
Vous devez vous connecter pour publier un commentaire.
Oui, c'est ça. J'ai essayé d'ajouter le même avec le même résultat.
Toutefois, si vous ajoutez stl_port les en-têtes de
Il fera l'affaire. Bien sûr, il n'est pas nécessaire de changer
comme il ne fonctionne que dans eclipse index. Il sera utile jusqu'à ce que vous allez utiliser quelque chose qui existe dans gnu-libstdc++ et n'existe pas stl-port.
OriginalL'auteur zooz
Je suis poursuit eclipse indigo rc2.
J'ai ajouté la ligne suivante dans Android.mk
et Ajouté la ligne suivante dans l'Application.mk
alors automatiquement mon ndk stlport chemin ajouté dans
bonne chance! ^^
OriginalL'auteur sc7258
Au premier abord, nous avons rencontré le même problème avec la carte et essayé d'ajouter "des Chemins et des Symboles", comme l'a suggéré, cependant il ne fonctionne pas.
Plus tard, au lieu de
nous avons utilisé
L'erreur de s'en alla, et puis nous avons changé de revenir à
include <map>
. Eclipse n'est plus plaint de ce que "Symbole ne peut pas être résolu".Il semble eclipse dispose d'un cache et d'une certaine façon, il peut obtenir foiré, à moins que vous dire précisément ce qu'il le bon endroit pour trouver les symboles.
OriginalL'auteur user3387862
Je ne sais pas à quel stade il a travaillé, mais:
Ajouter à l'Application.mk
APP_STL := gnustl_static
Ajouter inclure dans les propriétés du Projet->C/C++ Général -> Chemins d'accès et les Symboles
'NDK root path'/'your directory to android platform'/arch-arm/usr/include
'NDK root path'/sources/cxx-stl/gnu-libstdc++/4.9/include
'NDK root path'/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi-v7a/include/bits
Désactiver tous les avertissements d'erreurs dans les propriétés du Projet->C++ Général->Code d'Analyse.
travaillé dans Ubuntu 15.04. Eclipse 3.8.1. Android NDK r10e.
OriginalL'auteur valerycpp