当我将XCode 4中的预处理器宏添加到我的一个目标时,会使用它并按照我的预期进行条件编译。
但是,如果我将该设置移动到项目级别并从我的一个目标中移出,那么预处理器宏显然会被忽略而根本不会被使用。
我确认,如果我通过仅在启用该宏时编译的日志记录将其放入项目的构建设置中,则会定义宏。
怎么可能?
系统:OS X Lion,XCode 4.1 build 4B110,适用于iOS 4.3.5,使用LLVM编译器,而不是GCC。
答案 0 :(得分:5)
您是否完全删除了目标级别的构建设置(不仅仅是空白)?如果没有,目标设置将完全覆盖项目。 (您可以在目标级别的构建设置中使用$(inherited)
来避免这种情况。)
Xcode 4可以很容易地看到这类问题:在目标的Build Settings视图中,在过滤器栏中选择“Levels”(而不是“Combined”)。