XCode项目设置中预处理宏被忽略,但目标设置中没有。

4
当我在XCode 4中为一个目标添加预处理宏时,它被使用且条件编译正如我所期望的发生。
然而,如果我将该设置移到项目级别并移出其中一个目标,则预处理器宏明显被忽略且根本未被使用。
我通过记录来验证了该宏是否在项目的构建设置中定义,仅在启用该宏时才进行编译。
这是怎么回事?
系统:OS X Lion,XCode 4.1 build 4B110,构建iOS 4.3.5,使用LLVM编译器,而不是GCC。
1个回答

5

您是否完全删除了目标级别的构建设置(而不只是将其清空)?如果没有,目标设置将完全覆盖项目设置。 (您可以在目标级别的构建设置中使用$(inherited)来避免这种情况。)

Xcode 4使得查看此类问题变得容易:在目标的“Build Settings”视图中,选择过滤栏中的“Levels”(而不是“Combined”)。


1
是的,你是对的。显然,我的真正错误是忽略了目标中用粗体标记的空设置,这会覆盖我在项目级别上设置的所有内容。 - Raphael
1
选中粗体字段,然后按COMMAND+DELETE键。这将清除那个讨厌的覆盖。 - jww

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