在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会识别何时可以重新使用现有的预编译的前缀文件。