在Xcode中,我可以在项目设置中编辑我的预处理器宏。我想创建一个引用环境变量的宏。基本上,我希望能够在我的代码中引用$ SRC_ROOT。我目前在我的宏中有:
SRC_ROOT=${SRC_ROOT}
但它不起作用。
答案 0 :(得分:20)
在Xcode构建设置中,您实际上并未引用环境变量值。相反,您指的是构建设置值。其语法是Makefile样式$(SETTING_NAME)
,而不是您上面使用的shell样式${SETTING_NAME}
。
所以你要做的就是添加
SRC_ROOT="$(SRCROOT)"
到预处理器宏构建设置。
作为额外的好处,如果您知道您的宏不会影响预编译前缀文件的内容,而不是预处理器宏,则应使用预编译器宏未在预编译头中使用而不是。
通过这种方式,您可以改善项目中不同目标之间或者不同项目之间的预编译前缀头(由pch
文件定义)的共享。 Technical Note 2190: Speeding up your Xcode Builds详细介绍了这一点:如果您使用相同的前缀文件名和内容,并使用相同的构建设置在多个项目中构建,则可以显着提高构建性能,因为Xcode可以识别何时可以重用现有的预编译前缀文件。