Fehler werden: 'shared_ptr' im Namespace 'std' nennt keinen Typ

Ich versuche, eine Android-Anwendung im Android-Studio (ndk r10d) zu kompilieren, die einen C ++ – Code verwendet. Ich brauchte C ++ 11 also habe ich hinzugefügt -std=gnu++11 (ich brauche gnu++11 anstelle von c++11 für eine verlängerung, die ich verwende). Ich benutze den stlport stl, wegen anderer bibliotheken, die ich benutze, die diese stl bibliothek benutzt. Also meine cFlags und stl Parameter in der build.gradle Datei sieht so aus:

 stl "stlport_static" cFlags " mylib1.a mylib2.a ... -fexceptions -frtti -std=gnu++11" 

Ich habe auch Speicher enthalten: #include <memory>

  • Holen Sie sich andere Kinder, die Eltern mit der aktuellen Ansicht teilen
  • Android: nicht in der Lage, Service-Absicht zu starten: nicht gefunden?
  • ClassCastException: android.support.v7.widget.LinearLayoutCompat $ LayoutParams können nicht in android.widget.LinearLayout $ LayoutParams geworfen werden
  • Holen Sie sich Gateway-IP-Adresse in Android
  • Wie zu verhindern, dass Service wieder laufen, wenn bereits läuft Android
  • Httpurlconnection ist sehr langsam auf Android 4.2
  • Wenn ich versuche zu kompilieren, erhalte ich diesen Fehler:

     'shared_ptr' in namespace 'std' does not name a type 

    Ich habe die Boost-Implementierung für die smart pointers bis jetzt aber mit dem Umzug auf c ++ 11 verwendet. Ich würde lieber die Standardimplementierung verwenden.

  • HomeAsUpIndicator Styles gelten nicht auf Standard-Android Studio-Projekt
  • Facebook SDK für Android - erste Anmeldung ist sehr langsam / dauert sehr lange
  • KeyStore und Key Alias
  • Initialisieren Sie MapFragment programmgesteuert mit Maps API v2
  • Richten Sie ein Symbol mit dem Symbol der Symbolleiste aus - Android Material Design
  • Gibt es GPS-Koordinaten, wie finde ich in der Nähe Sehenswürdigkeiten oder Punkte-of-Interest?
  • 2 Solutions collect form web for “Fehler werden: 'shared_ptr' im Namespace 'std' nennt keinen Typ”

    http://de.cppreference.com/w/cpp/memory/shared_ptr/make_shared verwenden Kopfdatei in Ihrem Code.

     #include <iostream> #include <memory> 

    @TC Sieht aus, als hättest du recht. Ich habe Ihre Behauptung auf eine andere Frage gesehen, während ich nach einer Lösung für mein Problem suche, aber als Bibliotheken, die ich verwende, kompilieren mit C ++ 11 und STLport Ich dachte, dass diese Behauptung vielleicht nicht wahr ist.

    Was ich denke, ist, dass die Bibliotheken, die ich verwende, keine C ++ 11-Funktionen verwenden, die der STLport fehlt. Sie verwenden nur C ++ 11-Funktionen, die der gcc-Compiler unterstützt. Ich brauche die gnuStl, um die Features zu unterstützen, die ich verwende.

    Meine Lösung war, die Boost-Implementierung für die intelligenten Zeiger und alle anderen fehlenden C ++ 11 Features zu verwenden.

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