我正在使用带有xcconfig文件的Xcode3.2。这些文件按目标进行组织。例如,我有一个debug.xcconfig文件和一个release.xcconfig文件。两者都使用相同的设置,所以我添加了一个包含在两者中的shared.xcconfig文件。
shared.xcconfig文件如下所示:
GCC_C_LANGUAGE_STANDARD = c99
GCC_WARN_ABOUT_RETURN_TYPE = YES
GCC_WARN_UNUSED_VARIABLE = YES
GCC_PREPROCESSOR_DEFINITIONS = SOME_COMMON_DEFINITIONSdebug.xcconfig文件如下所示:
#include "Shared.xcconfig"
GCC_OPTIMIZATION_LEVEL = 0现在,我想在debug.xcconfig文件中添加一个DEBUG预处理器定义。如this question中所示,假定使用以下方法:
GCC_PREPROCESSOR_DEFINITIONS = "$(GCC_PREPROCESSOR_DEFINITIONS) DEBUG"这在Xcode3.2中不起作用。Xcode文档还明确提到,修改变量是不可能的,您只能覆盖它们。
你们怎么解决这个问题呢?
发布于 2009-09-09 23:30:05
我们过去解决这个问题的方法是让每一层组成定义的一个子集,然后在叶级别的xcconfig中将它们组合在一起。
在shared.xcconfig中
GCC_PREPROCESSOR_DEFINITIONS_SHARED = qFoo qBar qBaz在debug.xcconfig中
GCC_PREPROCESSOR_DEFINITIONS_DEBUG = qDebug
GCC_PREPROCESSOR_DEFINITIONS = $(GCC_PREPROCESSOR_DEFINITIONS_SHARED) $(GCC_PREPROCESSOR_DEFINITIONS_DEBUG)(使子集变量变得冗长的优点是,它们在字典顺序上类似于它们用于组合的值,这使得它们更容易在配置文件中找到。)
发布于 2013-01-07 22:52:02
您还可以在.xcconfig文件中使用以下格式。(适用于xcode 4,未在xcode 3中测试)。这只是一个例子,似乎适用于所有设置。
ARCHS=i386 x86_64
ARCHS[config=Debug]=i386
ARCHS[config=Release]=i386 x86_64发布于 2012-09-28 03:21:48
以下内容应可用:
xcodebuild GCC_PREPROCESSOR_DEFINITIONS='$(value) BAR=1'https://stackoverflow.com/questions/1402641
复制相似问题