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

5

我正在使用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个回答

12

多个预处理器宏之间用空格分隔而不是分号。因此应该这样写:

Preprocessor macros
   Debug   DEBUG FULL
   Release FULL

加上分号后,你定义了一个名为"DEBUG;FULL"的宏。这个宏将无法匹配你的#ifdef语句。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接