2012-02-27 8 views
15

Perché:direttiva al preprocessore non valido per #elseifdef in Xcode

#ifdef SOME_TARGET_FLAG  
     <some code here> 
    #elseifdef SOME_ANOTHER_TARGET_FLAG 
     <some another code here> 
    #endif 

produce errore di compilazione di pre-elaborazione "non valido di pre-elaborazione direttiva"?

SOME_TARGET_FLAG e SOME_ANOTHER_TARGET_FLAG sono solo alcuni "Altri C-flag" definiti in impostazioni di generazione di destinazione (-D<FLAG_NAME> pattern).

La direttiva #elseifdef non è supportata da Xcode?

risposta

31

La direttiva #elseifdef non è supportata da Xcode?

Non lo è. Utilizza invece:

#elif defined(SOME_ANOTHER_TARGET_FLAG) 
Problemi correlati