3

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

SRC_ROOT=${SRC_ROOT}

但它不起作用。

4

1 回答 1

20

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

所以你想要做的是添加

SRC_ROOT="$(SRCROOT)"

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

作为额外的好处,如果您知道您的宏不会影响预编译前缀文件的内容,那么您应该使用Preprocessor Macros Not Used in Precompiled Headers而不是Preprocessor Macros 。

这样,您可以改进pch项目中不同目标甚至不同项目之间预编译前缀标头(由文件定义)的共享。 Technical Note 2190: Speeding your Xcode Builds对此进行了更详细的说明:如果您使用相同的前缀文件名和内容,并在多个项目中使用相同的构建设置进行构建,您可以获得显着的构建性能改进,因为 Xcode 将识别何时可以重用现有的预编译前缀文件。

于 2008-10-28T23:43:40.387 回答