Ich benutze Android NDK R8D und Eclipse Juno. Ich versuche, C++ - Code zu kompilieren, der C++ 11-Sachen wie mutex
, lock_guard
, shared_ptr
usw. in einem nativen Android-Projekt in Eclipse verwendet.Wie kompiliert man C++ 11 Code mit Android NDK und Eclipse?
bekomme ich Fehler wie:
"error: 'shared_ptr' is not a member of 'std'"
"fatal error: mutex: No such file or directory"
ich auf eine ähnliche Frage here kam. Es scheint für sie zu funktionieren, aber die Erklärung dort ist nicht vollständig, also kann ich es nicht für mich arbeiten lassen.
Ich fügte zu der Application.mk
und "LOCAL_CFLAGS += -std=c++11"
zu Android.mk
Datei hinzu. Trotzdem kompiliert es nicht.
In dem obigen Link heißt es:
"Be sure that the standard library include path (like /android-ndk-r8d/sources/cxx-stl/gnu-libstdc++/4.7/include) is in the target settings."
Wie und wo kann ich es einsetzen?
Ich bekomme auch Fehler in der Eclipse-IDE (auf der Quelle, vor dem Kompilieren). Ich weiß, dass ich "__GXX_EXPERIMENTAL_CXX0X__"
definieren sollte, um sie zu lösen, aber ich weiß nur nicht, wo man es setzt.
Also, wenn jemand eine Antwort mit einer vollständigen Erklärung der Kompilierung und Eclipse-Arbeit mit C++ 11 schreiben könnte, wäre es großartig.
Lesen Sie das NDK-Dokument, das ist nicht möglich. – Geoffroy
http://stackoverflow.com/questions/14532057/smart-pointers-not-working-with-android-ndk-r8 es scheint, dass sie es verwaltet – DeathlessHorsie
welchen Compiler verwenden Sie für C++? – naxchange