Xcode预处理器宏

Dav*_*idG 3 macros xcode preprocessor

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

SRC_ROOT=${SRC_ROOT}
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

Chr*_*son 20

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

所以你要做的就是添加

SRC_ROOT="$(SRCROOT)"
Run Code Online (Sandbox Code Playgroud)

到您的预处理器宏构建设置.

另外,如果您知道宏不会影响预编译前缀文件的内容,而不是预处理器宏,则应使用预编译器中未使用的预处理器宏.

这样,您可以改善pch项目中不同目标之间或甚至不同项目之间的预编译前缀头(由文件定义)的共享. 技术说明2190:加速你的Xcode构建进一步详细说明:如果你使用相同的前缀文件名和内容,并使用相同的构建设置在多个项目中构建,你可以获得显着的构建性能改进,因为Xcode将识别何时可以重用现有的预编译前缀文件.