Puedes actualizar a Xcode 4.1 (o la versión más reciente que puedas obtener de Snow Leopard) y obtener un nuevo compilador con algunas características más de C++ 11. Hay algunos mensajes aquí en Stack Overflow sobre cómo obtener un mejor soporte para C++ 11 en Xcode 4.1 en Snow Leopard.
Pero incluso el último compilador disponible a través de Xcode no admite algunas características de C++ 11 como lambdas. Para obtener la mejor compatibilidad con C++ 11, querrá instalar un compilador más nuevo, gcc 4.6 o 4.7, o Clang.
Con frecuencia construyo la última versión de clang de la fuente. No es difícil de hacer si está familiarizado con la creación de otro software de código abierto. Yo uso los repositorios git para clang y llvm, http://llvm.org/git/llvm.git
y http://llvm.org/git/clang.git
. También puede encontrar instrucciones en su sitio web para comenzar: http://clang.llvm.org/get_started.html. Una vez que tienes la fuente para clang y llvm es solo ./configure && make && sudo make install
. (Es posible que desee ejecutar las pruebas antes de la instalación, ya que esto está directamente fuera del repositorio. Después de make
haga make check
en el directorio llvm, y una vez que pase cd a tools/clang y ejecute make test
. Si todo está bien, entonces sudo make install
)
No recuerdo si Snow Leopard incluyó libC++ o no, por lo que es posible que tenga que obtenerlo también. http://libcxx.llvm.org/
Una vez que todo está construido e instalado que puede hacer:
clang++ -std=c++11 -stdlib=libc++ main.cpp && ./a.out
y usted debe tener casi el mejor soporte para C++ 11 alrededor.
Los parches recientes en clang realmente han mejorado el soporte para las últimas características que probablemente notará como un nuevo programador de C++. Todavía quedan algunos bits y piezas, pero a partir de 3.1, y hasta donde yo sé, clang tiene todas las características de C++ 11 que tiene gcc 4.7 o VC++ 11 y más. libC++ también tiene la menor brecha en términos de la biblioteca estándar C++ 11 IME (aunque creo que la biblioteca estándar de VC++ también estará bastante completa una vez que se pongan al día con las características del lenguaje, por ejemplo char32_t y char16_t como tipos nativos para que las especializaciones obligatorias de la norma para esos tipos se pueden usar).
Ver http://stackoverflow.com/questions/7482026/can-i-use-the-latest-features-of- c11-in-xcode-4-or-osx-lion ... – StilesCrisis
@StilesCrisis La pregunta se refiere a Lion, mientras le pregunto sobre Snow Leopard ... – fdh
Bueno, ciertamente es más desafiante en Snow Leopard. Supongo que MacPorts es lo mismo y Xcode es una causa perdida. – StilesCrisis