Kann ich C++11 mit Xcode verwenden?

Kann ich C++11 mit Xcode verwenden?


Ich erwäge die Verwendung einiger C++11-Features (wie auto zum Beispiel) in einigen plattformübergreifenden Projekten (Windows+Mac). Unter Windows unterstützt Visual Studio Teile des kommenden C++11-Standards, der es mir ermöglichen würde, Teile der Codebasis zu vereinfachen, sodass ich natürlich daran interessiert wäre, diese Funktionen zu verwenden.


Aber soweit mir bekannt ist, unterstützt die aktuelle XCode-Version (3.2.4 + GCC 4.2) überhaupt keine C++11-Features. Kann ich die GCC-Version oder die CLang-Version irgendwie aktualisieren? Oder sollte ich mir einfach auf die Zunge beißen und warten, bis Apple irgendwann in der Zukunft eine neue Version herausbringt?


Antworten:


Xcode 4.2 hatte endlich Unterstützung für C++0X hinzugefügt:



  1. Aktivieren Sie im Bildschirm mit den Projekterstellungseinstellungen „Alle“ Optionen.


  2. Stellen Sie im Abschnitt „Build-Optionen“ den Compiler auf „Apple LLVM-Compiler 3.0“ ein.


  3. Scrollen Sie nach unten zum Abschnitt „Apple LLVM Compiler 3.0 – Language“ und setzen Sie „C++ Language Dialect“ auf „C++0X“ und „C++ Standard Library“ auf „libc++“.



Es ist bekannt, dass std::move(), Move-Konstruktor und R-Value-Referenz wie erwartet funktionieren, und ich teste std::thread und std::atomic.