2011-04-05 51 views
5

我使用的XCode 4,并在我的项目生成设置一个预处理宏,我设置:的Xcode - 定义条件编译

Preprocessor macros 
    Debug DEBUG;FULL 
    Release FULL 

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

Preprocessor macros 
    Debug DEBUG;LITE 
    Release LITE 

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

再后来在我的代码,我写道:

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

但日志不会被写入。

我在做什么错? 我不想(需要)将值设置为FULL语句。

回答

12

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

Preprocessor macros 
    Debug DEBUG FULL 
    Release FULL 

用分号表示您定义了一个名为“DEBUG; FULL”的宏。这不符合你的#ifdef