Xcode预处理器宏

时间:2008-10-28 10:35:24

标签: xcode macros preprocessor

在Xcode中,我可以在项目设置中编辑我的预处理器宏。我想创建一个引用环境变量的宏。基本上,我希望能够在我的代码中引用$ SRC_ROOT。我目前在我的宏中有:

SRC_ROOT=${SRC_ROOT}

但它不起作用。

1 个答案:

答案 0 :(得分:20)

在Xcode构建设置中,您实际上并未引用环境变量值。相反,您指的是构建设置值。其语法是Makefile样式$(SETTING_NAME),而不是您上面使用的shell样式${SETTING_NAME}

所以你要做的就是添加

SRC_ROOT="$(SRCROOT)"

预处理器宏构建设置。

作为额外的好处,如果您知道您的宏不会影响预编译前缀文件的内容,而不是预处理器宏,则应使用预编译器宏未在预编译头中使用而不是。

通过这种方式,您可以改善项目中不同目标之间或者不同项目之间的预编译前缀头(由pch文件定义)的共享。 Technical Note 2190: Speeding up your Xcode Builds详细介绍了这一点:如果您使用相同的前缀文件名和内容,并使用相同的构建设置在多个项目中构建,则可以显着提高构建性能,因为Xcode可以识别何时可以重用现有的预编译前缀文件。