2011-11-06 12 views
5

¿Hay una macro C predefinida para detectar la versión de OS X? Sé que existen __APPLE__ y __MACH__, pero esos son binarios. ¿Hay un valor específico para __APPLE_CC__ que indique Lion?C macro para la detección de la versión OS X (León o no)?

En particular, Lion agregó una definición de getline() a en Lion y sería bueno ser capaz de detectar si el código se estaba compilando en Lion o no para evitar los errores de compilación.

Específicamente, me refiero a la construcción del código Unix C en Bash (fuera de XCode).

+0

* ¿Compilar * en o * ejecutar * en Lion? –

Respuesta

5

Las macros Availability.h le permiten comprobar las dependencias de las versiones de compilación y de ejecución. Consulte la discusión here.

3

Fecha de /usr/include/AvailabilityMacros.h - que contiene macros, tales como:

#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_7 
    #define DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER DEPRECATED_ATTRIBUTE 
#else 
    #define DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER 
#endif 

me encontré con esta materia porque 'openssl/sha1.h' se ha untado con 'obsoleto' atributos de León, por lo que la compilación git obtiene advertencias en abundancia.

Cuestiones relacionadas