Xcode - 为条件编译定义预处理器宏

时间:2011-04-05 19:36:45

标签: xcode macros preprocessor conditional-compilation

我正在使用XCode 4,在我的项目构建设置中,我设置了:

Preprocessor macros
   Debug   DEBUG;FULL
   Release FULL

并且在同一项目的另一个目标中:

Preprocessor macros
   Debug   DEBUG;LITE
   Release LITE

这两个目标使用完全相同的文件,但plist信息文件是不同的。

然后在我的代码中,我写道:

#ifdef FULL
    // ###### FULL VERSION
    NSLog(@"test");
    // ###### 
#endif

但是从未写过日志。

我做错了什么? 我不希望(需要)为FULL语句设置一个值。

1 个答案:

答案 0 :(得分:12)

多个预处理器宏由空格分隔,而不是分号。所以它应该是:

Preprocessor macros
   Debug   DEBUG FULL
   Release FULL

使用分号,您将定义一个名为“DEBUG; FULL”的宏。这与您的#ifdef不匹配。