我使用的是Xcode和.xcconfig文件。我试图在预处理器定义中附加一些值,但我就是不能让它工作。
我尝试了以下方法(以及其中的许多变体),但到目前为止还没有成功:
GCC_PREPROCESSOR_DEFINITIONS = '$(GCC_PREPROCESSOR_DEFINITIONS) NEW_VALUE'
NEW_VALUE符号根本不会添加到预处理器定义中。
有没有人成功地将新值附加到xcconfig文件的变量中?
发布于 2011-03-13 20:39:26
由于这个问题的其他答案中所述的原因,您不能轻松地继承值。
我建议在级联中定义您的设置。让我们假设APP是您的项目前缀,并简单地定义几个CFLAGS:
platform.xcconfig:
APP_PLATFORM_CFLAGS = -DMAS=1project.xcconfig:
#include "platform.xcconfig"
APP_PROJECT_CFLAGS = -DBETA=1target-one.xcconfig:
#include "project.xcconfig"
APP_TARGET_CFLAGS = -DSUPER_COOL=1
#include "merge.xcconfig"target-two.xcconfig:
#include "project.xcconfig"
APP_TARGET_CFLAGS = -DULTRA_COOL=1
#include "merge.xcconfig"merge.xcconfig:
OTHER_CFLAGS = $(inherited) $(APP_PLATFORM_CFLAGS) $(APP_PROJECT_CFLAGS) $(APP_TARGET_CFLAGS)然后,您将以target-xxx.xcconfig为基础构建每个目标构建配置。一个真正的项目将使用更复杂的设置,为项目使用一个配置文件,为目标使用一个不同的配置文件,但您已经明白了。
此外,请记住,$(inherited)指的是层次结构中较高的级别,而不是较早的。例如,它继承自目标级别的项目级别。不确定这是否也适用于Xcode4。
这是GTM的简化,去那里了解更多。
发布于 2009-09-09 19:44:00
根据Xcode构建系统指南:
当配置单元包含特定构建设置的多个定义时,Xcode使用该单元中的最后一个定义。请记住,配置文件无权访问它们包含的配置文件中生成的设置定义。也就是说,不能修改包含的配置文件中的定义;只能替换它。
所以,我猜这意味着不可能将值附加到给定的变量。
发布于 2012-09-28 00:30:53
这是可行的:
xcodebuild GCC_PREPROCESSOR_DEFINITIONS='$(value) NEW_VALUE'https://stackoverflow.com/questions/1393987
复制相似问题