我正在将Xcode 3.2与xcconfig
文件一起使用。这些文件是按目标组织的。例如,我有一个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_DEFINITIONS
debug.xcconfig
文件如下所示:#include "Shared.xcconfig"
GCC_OPTIMIZATION_LEVEL = 0
现在,我想在
DEBUG
文件中添加debug.xcconfig
预处理程序定义。如this question中所示,以下方法应该起作用:GCC_PREPROCESSOR_DEFINITIONS = "$(GCC_PREPROCESSOR_DEFINITIONS) DEBUG"
这在Xcode 3.2中不起作用。 Xcode文档还明确提到无法修改变量,您只能覆盖它们。
你们将如何解决这个问题?
最佳答案
过去我们解决此问题的方法是让每一层组成定义的子集,然后在叶级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)
(使子集变量变得冗长的优点是,在字典上它们类似于用于组成的值,从而使它们在配置文件中更容易找到。)
关于xcode - Xcode:如何使用多个xcconfig文件设置调试环境?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1402641/