usar para macbook mac dev compilar como c++ xcode gcc c++11 clang

para - compilar c++ en mac



¿Puedo usar C++ 11 con Xcode? (4)

Estoy considerando el uso de algunas características de C ++ 11 (como auto por ejemplo) en algunos proyectos multiplataforma (Windows + Mac). En Windows, Visual Studio admite partes del próximo estándar C ++ 11 que me permitiría simplificar partes de la base de código, así que, naturalmente, me interesaría comenzar a utilizar estas características.

Pero hasta donde yo sé, la versión actual de XCode (3.2.4 + GCC 4.2) no admite ninguna característica de C ++ 11. ¿Puedo actualizar la versión de GCC o la versión de CLang de alguna manera? ¿O debería morderme la lengua y esperar a que Apple empaque una nueva versión en algún momento en el futuro?


Encontré auto, decltype (), rango basado en "for (:)" trabajo en un proyecto multiplataforma (LLVM para MacOSX, iOS, gcc / linux, MSVC 10 / windows).

Las macros lambdas y variadic no parecen funcionar bajo LLVM todavía con tristeza.


Xcode 4.2 finalmente había agregado soporte para C ++ 0X:

  1. En la pantalla de configuración de compilación del proyecto, active las opciones "Todas".

  2. En la sección "Opciones de compilación", configure el compilador como "Apple LLVM compiler 3.0".

  3. Desplácese hasta la sección "Apple LLVM Compiler 3.0 - Language" y configure "C ++ Language Dialect" en "C ++ 0X" y "C ++ Standard Library" en "libc ++".

Se sabe que std :: move (), move constructor y R-Value reference funcionan como se esperaba, y estoy probando en std :: thread y std :: atomic.


Xcode usa los compiladores GCC o Clang C ++. Cualquier característica admitida por esos compiladores es juego limpio. La página de compatibilidad de C ++ de GCC está here y la página de compatibilidad de Clang C ++ está here .


======= Actualización 2012: =======

Comience con Clang: muchas características de C ++ 11 ahora están disponibles en Clang. Está incluido con Xcode.

======= Respuesta original de enero de 2011: =======

El compilador de Intel puede ser el camino más limpio para ir en este momento. http://software.intel.com/en-us/articles/intel-composer-xe/

características de wrt c ++ 0x prometedoras, pero no particularmente estables o destacadas de clang. c ++ sigue siendo muy nuevo para clang.

gcc: relativamente maduro, pero tendrás que escribir y mantener tus complementos de compilación para xcode.

también puede especificar scripts personalizados, pero eso es difícil de mantener ... a menos que vaya a por todas y cree una herramienta de adaptador.