【问题标题】:How does the target know which headers it should include?目标如何知道它应该包含哪些标头?
【发布时间】:2016-01-21 15:57:12
【问题描述】:

我不明白 Xcode 是如何知道哪些标头应该包含在哪个目标中的?例如,如果我将一个新文件添加到我的 Xcode 项目中,它会将 .m 文件添加到所选目标的编译源中,但是 .h 文件呢?我的目标如何知道应该使用哪些头文件?

【问题讨论】:

    标签: xcode


    【解决方案1】:

    只有 .m 文件和资源文件是目标的一部分,而不是 .h。仅需要为框架目标复制标头,并且仅因为它们是框架版本的一部分(它们允许用户知道如何使用框架)。应用程序不需要标头,因为它们是独立编译的实体。 头文件(和 pch 文件)在编译期间使用,但在运行时不需要

    您希望文件在以下情况下成为目标的成员:

    • 构成可执行文件的一部分(例如,实现 (.m) 文件或库),或
    • 作为文件包含在应用程序包中(例如图像)。

    仅通过屏幕截图举例,我们在 Xcode 中为库控制标头的方式处于构建阶段,如下所示:

    您可以进一步阅读此Apple Documentation 以设置 Xcode 中头文件的可见性。

    【讨论】:

    • 好的,这有助于我更好地理解这一点。如果不将我的新文件添加到目标,它们将无法在该目标的类中访问,对吗? XCode 是如何知道这一点的以及我以后如何更改它?
    • 如果您不知何故忘记在特定目标中添加新文件,并且该文件正在被同一目标中的其他文件使用,Xcode 将开始抱怨。要解决这个问题,您需要选择您的项目文件(项目导航器顶部),然后选择有问题的目标。选择Build Phase 选项卡并展开Compile Sources 部分。点击该部分底部的 + 按钮,搜索并添加您丢失的文件。就是这样......你都准备好了!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-25
    • 2018-01-09
    • 2012-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多