Xcode中#elseifdef的预处理指令无效

Luk*_*asz 17 xcode objective-c c-preprocessor preprocessor-directive

为什么:

 #ifdef SOME_TARGET_FLAG     
      <some code here>
    #elseifdef SOME_ANOTHER_TARGET_FLAG
      <some another code here>
    #endif
Run Code Online (Sandbox Code Playgroud)

生成"无效的预处理指令"预处理编译错误?

SOME_TARGET_FLAG和SOME_ANOTHER_TARGET_FLAG只是目标构建设置(-D<FLAG_NAME>模式)中定义的一些"其他C标志" .

#elseifdef指令不被支持的Xcode?

jus*_*tin 36

Xcode不支持#elseifdef指令吗?

它不是.请改用:

#elif defined(SOME_ANOTHER_TARGET_FLAG)
Run Code Online (Sandbox Code Playgroud)