【问题标题】:Passing preprocessor defines from an XCode5 project to its contained sub-projects将预处理器定义从 XCode5 项目传递到其包含的子项目
【发布时间】:2014-08-10 00:32:30
【问题描述】:

我有一个依赖于另一个 XCode5 项目 (B) 的 Xcode5 项目 (A)。项目 B 包含在项目 A 中作为子项目。项目 B 需要从项目 A 传递一个预处理器定义,但这似乎是一项不可能完成的任务。按照设计,预处理器定义不会从一个父 XCode 项目传递到其子项目。我尝试在 XCode 方案中设置一个环境变量并在项目 B 中选择一个,但这也不起作用。我不知道该怎么做,虽然我已经花了一个上午的时间......

重要的旁注:我不想更改项目 B 中的任何东西,因为它是一个将被许多父项目使用的项目,并且只应进行更改(即预处理器定义)在父项目中,但从不在项目 B 中。

编辑:一个非常简单的可能性是在项目 A 中包含一些带有预处理器定义的“config.h”头文件,项目 B 将包含此文件。但是如果没有专门将该文件的目录添加到项目 B 的头包含目录中,我不知道如何告诉 XCode 找到该文件(再次:我不想对项目 B 进行更改)。

【问题讨论】:

标签: xcode xcode5 preprocessor


【解决方案1】:

您的请求最好使用 xcconfig。见这篇文章:https://medium.com/@derrickho_28266/super-preprocessor-directives-with-xcode-8-77bf4d4e5a0c

或者,您可以从命令行一直将定义从项目传递到子项目,如下所示:xcodebuild -project TopLevelProject.xcodeproj GCC_PREPROCESSOR_DEFINITIONS='$GCC_PREPROCESSOR_DEFINITIONS FOOBAR=1'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-17
    • 1970-01-01
    相关资源
    最近更新 更多