我刚刚在 Xcode 4.3.3 上创建了一个新的可可项目。Apple LLVM 编译器 3.1 设置的预处理器宏分配了一个 DEBUG=1 $(inherited) 值。我删除它并再次添加它,现在编译时出现错误:
clang:错误:没有这样的文件或目录:'DEBUG=1'
我在项目设置中搜索该值,发现该值也在“其他警告标志”中定义
我的问题是:
- 只拥有
DEBUG
vs 和有什么不一样DEBUG=1
? - 做什么
$(inherited)
? - 它还在其他警告标志上做什么?
我刚刚在 Xcode 4.3.3 上创建了一个新的可可项目。Apple LLVM 编译器 3.1 设置的预处理器宏分配了一个 DEBUG=1 $(inherited) 值。我删除它并再次添加它,现在编译时出现错误:
clang:错误:没有这样的文件或目录:'DEBUG=1'
我在项目设置中搜索该值,发现该值也在“其他警告标志”中定义
我的问题是:
DEBUG
vs 和有什么不一样DEBUG=1
?$(inherited)
?首先,如果您遇到编译错误,那么您很可能将宏放回项目设置中的错误位置。请确保您已将其放入该部分下的项目的Debug
配置分支中。Preprocessor Macros
Apple LLVM compiler x.x - Preprocessing
对于您的其他问题:
DEBUG
,所以它基本上是空的。你可以测试它是否存在,但不多。第二个将其设置为,1
以便预处理器实际上可以进行比较,例如#if DEBUG && SHOULD_DIE_ON_ERROR
如果应用程序遇到一些验证错误,您可能会在哪里中止,但前提SHOULD_DIE_ON_ERROR
是设置1
了并且您正在调试模式下运行。$(inherited)
其他宏。因此,如果您的项目定义了一些项目,而您的目标定义了更多项目,则目标也可以获取项目的设置,而无需重新定义它们。