我正在使用 Xcode 和 .xcconfig 文件。我试图在预处理器定义中附加一些值,但我根本无法使其工作。
我尝试了以下方法(以及它的许多变体),但到目前为止没有运气:
GCC_PREPROCESSOR_DEFINITIONS = '$(GCC_PREPROCESSOR_DEFINITIONS) NEW_VALUE'
NEW_VALUE
符号根本不会添加到预处理器定义中。
有人成功地将新值附加到 xcconfig 文件中的变量吗?
最佳答案
由于此问题的其他答案中所述的原因,您无法轻松继承值。
我建议级联定义您的设置。让我们假设 APP 是您的项目前缀,并简单地定义几个 CFLAGS:
平台.xcconfig:
APP_PLATFORM_CFLAGS = -DMAS=1
项目.xcconfig:
#include "platform.xcconfig"
APP_PROJECT_CFLAGS = -DBETA=1
目标-one.xcconfig:
#include "project.xcconfig"
APP_TARGET_CFLAGS = -DSUPER_COOL=1
#include "merge.xcconfig"
目标二.xcconfig:
#include "project.xcconfig"
APP_TARGET_CFLAGS = -DULTRA_COOL=1
#include "merge.xcconfig"
合并.xcconfig:
OTHER_CFLAGS = $(inherited) $(APP_PLATFORM_CFLAGS) $(APP_PROJECT_CFLAGS) $(APP_TARGET_CFLAGS)
然后,您的每个目标构建配置都将基于 target-xxx.xcconfig
。真实的项目将使用更复杂的设置,为项目使用一个配置文件,为目标使用不同的配置文件,但您明白了。
此外,请记住,$(inherited)
指的是层次结构中的较高级别,而不是较早级别。例如,它继承自目标级别的项目级别。不确定这是否也适用于 Xcode 4。
这是 GTM 的简化,去那里了解更多信息。
关于xcode - 如何在 xcconfig 变量中附加值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1393987/