18

为什么:

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

产生“无效的预处理指令”预处理编译错误?

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

Xcode 不支持#elseifdef指令吗?

4

2 回答 2

39

Xcode 不支持#elseifdef 指令吗?

它不是。改用这个:

#elif defined(SOME_ANOTHER_TARGET_FLAG)
于 2012-02-27T12:25:40.290 回答
2

如错误消息所示,它不受支持。请参阅“C 预处理器” - https://developer.apple.com/library/mac/#documentation/DeveloperTools/gcc-4.2.1/cpp/index.html#//apple_ref/doc/uid/TP40007092 (条件编译)。

于 2012-02-27T12:22:59.323 回答