2011-04-05 10 views
5

estoy usando Xcode 4, y en mis configuración de generación de proyectos, lo he instalado:Xcode - la definición de una macro preprocesador para la compilación condicional

Preprocessor macros 
    Debug DEBUG;FULL 
    Release FULL 

y en otro destino del mismo proyecto:

Preprocessor macros 
    Debug DEBUG;LITE 
    Release LITE 

Los dos destinos utilizan exactamente los mismos archivos, excepto el archivo de información plist que se hace distinto.

Luego, más tarde en mi código, escribió:

#ifdef FULL 
    // ###### FULL VERSION 
    NSLog(@"test"); 
    // ###### 
#endif 

Sin embargo, el registro no está escrito.

¿Qué estoy haciendo mal? No quiero (necesito) establecer un valor para la instrucción FULL.

Respuesta

12

Las macros de varios preprocesadores están separadas por espacios que no tienen punto y coma. Por lo que debe ser:

Preprocessor macros 
    Debug DEBUG FULL 
    Release FULL 

Con el punto y coma, que está definiendo una única macro llamada "DEBUG; FULL". Y eso no coincidirá con su #ifdef.

Cuestiones relacionadas