Eclipse-Indexer-Fehler bei der Verwendung von STL mit Android NDK

Ich benutze die Android NDK r7 mit Eclipse Indigo auf Ubuntu. Ich habe mein Java-Projekt eingerichtet, um die C ++ – Natur zu nutzen. Ich benutze STL auf C ++ Seite, also habe ich hinzugefügt

APP_STL := gnustl_static 

In der Datei Application.mk.

Ndk-build succeed, um meinen Code zu kompilieren und ein gemeinsames Objekt zu erstellen.

Allerdings klagt Eclipse-Indexer über fehlende STL-Symbole. Beispielsweise

"Methode 'push_back' konnte nicht gelöst werden" "Symbol 'vector' konnte nicht aufgelöst werden"

Dies geschieht nur, wenn C ++ – Dateien im Editor geöffnet sind. Letztlich wird die Eklipse meinen Apk nicht erschaffen. Ich habe den Gnu-STL-Headers, die mit dem ndk (Eigenschaften => C / C ++ Allgemein => Code Analasys => Pfad & Symbole)

 android-ndk-r7/sources/cxx-stl/gnu-libstdc++/include android-ndk-r7/sources/cxx-stl/gnu-libstdc++/include/bits 

Der aktuelle Workaround besteht darin, die geöffneten C ++ – Dateien zu schließen, um die Eklipse glücklich zu machen.

Interessanter Eclipse-Indexer funktioniert gut mit Header gefunden in

Android-ndk-r7 / Plattformen / android-14 / arch-arm / usr / include

Gibt es etwas, das ich vergessen habe, in Eklipse einzurichten?

  • Kann nicht Android-SDK aktualisieren
  • "Timed out wartet auf Ad-Response", beim Versuch, admob in meine Anwendung hinzufügen
  • Gibt es eine Möglichkeit, Android-Anwendungen direkt am Telefon zu testen, ohne Emulator?
  • Eclipse Android SDK - 'Building Workspace' Deadlock
  • Wenn Sie auf Android Studio migrieren, werden mehrere Apps für "single main project multiple library projects" installiert.
  • Ändern des App-Namens in Eclipse
  • Ich muss meine App auf verschiedenen virtuellen Geräten testen
  • Kein Quell-Attachment-Fehler beim Debuggen von Android-Anwendungen
  • 2 Solutions collect form web for “Eclipse-Indexer-Fehler bei der Verwendung von STL mit Android NDK”

    Sie müssen Pfad zu STL zu Projekteinstellungen hinzufügen, damit Eclipse es auch indiziert. Projekt-> Eigenschaften-> C / C ++ Allgemein-> Enthält. Hier habe ich noch hinzugefügt:

     <path_to_NDK>/sources/cxx-stl/gnu-libstdc++/include <path_to_NDK>/sources/cxx-stl/gnu-libstdc++/libs/armeabi-v7a/include <path_to_NDK>/platforms/android-9/arch-arm/usr/include 

    Einige Leute konnten dieses Problem beheben, indem sie __GXX_EXPERIMENTAL_CXX0X__ zu Eclipse hinzufügen, wie in " intelligente Zeiger, die nicht mit Android NDK r8 " arbeiten, erwähnt werden. Aber das funktioniert nicht in einigen Versionen von Eclipse wie meine (Eclipse Juno v4.2).

    Als ein Work-around-Hack ging ich zu Eclipse Preferences -> C / C ++ -> Code-Analyse, dann habe ich die Schwere von einigen Problemen von Error to Warning geändert, da ich NDK nutze, um meinen Code zu kompilieren, so dass diese nur wirken Der Indexer. Ich habe gewechselt "Symbol ist nicht aufgelöst" und es hat meine Fehler behoben, aber du möchtest auch ein paar andere ändern. Zuerst habe ich die Fehler für mich nicht beendet, bis ich die C ++ – Datei geschlossen und wieder geöffnet habe. Wenn Sie mit der rechten Maustaste auf Ihr Projekt klicken und "Index -> Rebuild" auswählen, können Sie auch dazu beitragen, es zu aktualisieren.

    Jetzt Eclipse hebt diese Zeilen als Warnungen und erlaubt mir, weiter zu bauen und zu laufen und meine NDK App zu debuggen.

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