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