Недопустимая директива предварительной обработки для #elseifdef в Xcode
почему:
#ifdef SOME_TARGET_FLAG
<some code here>
#elseifdef SOME_ANOTHER_TARGET_FLAG
<some another code here>
#endif
производит "недопустимая директива предварительной обработки" ошибка компиляции предварительной обработки?
SOME_TARGET_FLAG и SOME_ANOTHER_TARGET_FLAG-это просто некоторые "другие c-флаги", определенные в настройках целевой сборки (-D<FLAG_NAME>
pattern).
и #elseifdef директива Не поддерживается в Xcode?
2 ответов
директива #elseifdef не поддерживается Xcode?
это не так. Используйте этот код:
#elif defined(SOME_ANOTHER_TARGET_FLAG)
Ее не поддерживается, как указано в сообщении об ошибке. См. "препроцессор C" - https://developer.apple.com/library/mac/#documentation/DeveloperTools/gcc-4.2.1/cpp/index.html#//apple_ref/doc/uid/TP40007092 (условная компиляция).