我正在使用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语句设置一个值。
答案 0 :(得分:12)
多个预处理器宏由空格分隔,而不是分号。所以它应该是:
Preprocessor macros
Debug DEBUG FULL
Release FULL
使用分号,您将定义一个名为“DEBUG; FULL”的宏。这与您的#ifdef
不匹配。