Fixing Eclipse Fehler bei der Verwendung von Android NDK und std :: vector

Ich benutze Eclipse, um eine Android-App zu entwickeln, die auch die ndk verwendet. Ich Vektoren in meiner App und ich habe die notwendigen Sachen gemacht, um sie zu holen

APP_STL: = stlport_static

In meiner Anwendung.mk

Alles funktioniert gut, es kompiliert und läuft, aber Eclipse gibt mir Fehler, wenn ich die Vektoren benutze

std::vector<int> blah 

Zum Beispiel erzeugt einen Fehler. Wenn ich den Fehler lösche und weitergehe, kompiliert und läuft es gut.

Ich habe $ {NDKROOT} / sources / cxx-stl / gnu-libstdc ++ / include hinzugefügt

In meinem Projekt config unter C ++ Allgemein -> Pfade und Symbole -> include

Es löst #include <vector> fein (bevor ich den Pfad oben hinzugefügt habe, hatte ich einen Fehler dafür), aber ich bekomme immer noch Fehler mit den Vektoren.

Wie bekomme ich die Eklipse, um damit aufzuhören, mir Fehler zu geben?

BEARBEITEN:

Beispiel Fehler: Symbol 'vector' could not be resolved

EDIT 2:

Ich habe versucht zu addieren

 using namespace std; 

Und dann mit Vektor blah und das verursacht einen anderen Fehler:

Ungültige Vorlagen-Argumente

  • Google-play-services_lib Kann das Ziel 'android-9 nicht lösen
  • Erstellen eines Ordners auf Sd mit Unterordnern
  • Ihr APP_BUILD_SCRIPT zeigt auf eine unbekannte Datei: C: \ android-ndk / jni /Android.mk
  • Wie kann man ein Programm unter Eclipse stoppen?
  • "Kann die Klasse nicht finden" android.support.v4.app.FragmentActivity '"Fehler
  • GCM: warum meine Anwendung in GCMRegistrar.checkDevice (dieses) abstürzen;
  • Wie kann man Eclipse daran hindern, XML-Dateien auszuführen?
  • Android-Emulator-Fehler: "System-Benutzeroberfläche hat gestoppt"
  • 4 Solutions collect form web for “Fixing Eclipse Fehler bei der Verwendung von Android NDK und std :: vector”

    Ich habe $ {NDKROOT} / sources / cxx-stl / gnu-libstdc ++ / include hinzugefügt

    In meinem Projekt config unter C ++ Allgemein -> Pfade und Symbole -> include

    Ja, das ist es. Ich habe versucht, das gleiche mit dem gleichen Ergebnis hinzuzufügen. Allerdings, wenn Sie stl_port Header hinzufügen

     ${NDKROOT}/sources/cxx-stl/stlport/stlport 

    Es wird den Trick machen. Natürlich ist es nicht nötig zu ändern

     APP_STL := stlport_static 

    Da es nur in Eclipse-Indizes funktioniert. Es wird nützlich sein, bis du etwas benutzt hast, das in gnu-libstdc ++ existiert und existiert nicht stl-port.

    Blockquote

    Ich verklage Eclipse Indigo rc2.

    Ich habe folgende Zeile in Android.mk hinzugefügt

     LOCAL_C_INCLUDES += ${NDKROOT}/sources/cxx-stl/stlport/stlport 

    Und folgende Zeile in Application.mk hinzugefügt

     APP_STL := stlport_static 

    Dann automatisch mein ndk stlport pfad hinzugefügt in

    Eigenschaften -> C ++ Allgemein -> Pfade und Symbole -> include

    Viel Glück! ^^

    Zuerst trafen wir das gleiche Problem mit der Karte und versuchten, "Pfade und Symbole" wie vorgeschlagen hinzuzufügen, aber es würde immer noch nicht funktionieren.

    Später, anstatt

     #include <map> 

    wir verwendeten

     #include <stl/_map.h> 

    Der Fehler ging weg und dann wechselten wir zurück zu include <map> . Eclipse beschwerte sich nicht mehr, dass "Symbol nicht gelöst werden konnte".

    Es scheint, Eklipse hat einen Cache und irgendwie kann es durcheinander gebracht werden, wenn Sie es nicht genau den richtigen Ort, um die Symbole zu finden.

    Ich weiß nicht, in welcher Phase es funktioniert, aber:

    1. Hinzufügen zu Application.mk APP_STL := gnustl_static

    2. Hinzufügen hinzufügen zu den Projekteigenschaften-> C / C ++ Allgemein -> Pfade und Symbole
      '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

    3. Deaktivieren Sie alle Warnungen Fehler in Projekteigenschaften-> C ++ Allgemein-> Code Analisis.

    4. Projekt-Eigenschaften-> C ++ Build-> Builder-Einstellungen -> Deaktivieren Sie den Befehl default build verwenden. Build-Befehl leer machen.
    5. Weiter konfigurieren NDK Builder: Projekteigenschaften-> Builder-> Neu-> Programmieren und Füllen Name (Ihr Name Build conf), Standort (Pfad zum NDK-Stammverzeichnis), Arbeitsverzeichnis (Pfad zu Projektverzeichnis). -> Aktualisieren und überprüfen Sie bestimmte Ressourcen (Ihr libs Ordner im Projekt). -> Build Options check Geben Sie den Arbeitssatz der relevanten Ressourcen an und ändern Sie den 'jni' Ordner mit Ihrer Quelle.

    Arbeitete in Ubuntu 15.04. Eklipse 3.8.1. Android NDK r10e.

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.