Invalid preprocessing directive for #elseifdef in Xcode
-
13-11-2019 - |
Pregunta
Why:
#ifdef SOME_TARGET_FLAG
<some code here>
#elseifdef SOME_ANOTHER_TARGET_FLAG
<some another code here>
#endif
produces "Invalid preprocessing directive" preprocess compilation error?
SOME_TARGET_FLAG and SOME_ANOTHER_TARGET_FLAG are just some "Other C-flags" defined in target build settings (-D<FLAG_NAME>
pattern).
Is #elseifdef directive not supported by Xcode?
Solución
Is #elseifdef directive not supported by Xcode?
It is not. Use this instead:
#elif defined(SOME_ANOTHER_TARGET_FLAG)
Otros consejos
Its not supported as indicated by the error message. See 'the C preprocessor' - https://developer.apple.com/library/mac/#documentation/DeveloperTools/gcc-4.2.1/cpp/index.html#//apple_ref/doc/uid/TP40007092 (conditional compilation).
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow