【问题标题】:two projects in xcode4 workspaces (#import failure)xcode4 工作区中的两个项目(#import 失败)
【发布时间】:2011-07-13 08:44:00
【问题描述】:

我真的很难让它在 xcode 4 中工作。

我有一个项目,我将在许多应用程序(网络)中重复使用,因此我创建了一个工作区并添加了我的两个项目。到目前为止,一切都很好.... 这就是失败的地方..

#import "JSONRequest.h"

没有明显的原因。它自动补全头文件的文件名。我认为这与“方案”(在 xcode 4 中也是新的)有关,所以我尝试在构建阶段添加我的网络目标。更改它们的顺序...在管理方案下设置“共享”..我尝试了很多不同的设置组合但没有任何成功..错误消息是:

JSONRequest.h: No such file or directory

如果你有线索,请告诉我。

【问题讨论】:

标签: import header xcode4 workspace


【解决方案1】:

这对我有用,

在构建 settings --> Header Search Path --> 添加下面的条目

$(SRCROOT) and mark it as recursive.

如果以上方法不行你也可以试试下面的方法,

<path-of-other-project> and mark it as recursive.

希望对你有帮助! (您可能需要清理或重新启动工作区)

【讨论】:

    【解决方案2】:

    您可以将要引用的项目的标头或源文件夹添加到标头搜索路径。

    1. 点击正在导入 JSONRequest.h 的目标。
    2. 点击构建设置。
    3. 在搜索框中输入“标题搜索路径”。
    4. 双击值单元格。
    5. 点击 + 号。
    6. 设置您所引用项目的路径。假设它被称为 JSONlib。该路径相对于引用项目(使用 JSONlib 的项目)的根目录。例如:../JSONlib/src/headers/ 或 .h 文件所在的任何位置。
    7. 点击完成。
    8. 清理然后构建。

    您可以在 Apple 开发者论坛中找到有关此问题的更多信息。祝你好运。

    【讨论】:

    • 是的,这确实有效,但我的框架类没有自动完成。
    • 这件事发生在我身上。我重新启动了 Xcode,自动完成功能再次起作用。这绝对是一个错误,因为预期的行为可能是将共享文件夹的路径添加到标题搜索栏。 YMMV。
    • 另见stackoverflow.com/questions/9370518/…(它显示了解决这个问题以及包含另一个项目的各种其他烦人的问题)
    【解决方案3】:

    你真正想做什么?

    如果您打算在不同产品之间共享整个 Xcode 项目,这通常表明您的项目构建一个或多个目标(例如框架等)。因此,您的“共享”项目应该能够自行构建框架,而不管它包含在哪个工作区中,对吧?

    假设它是一个框架。在大多数情况下,Xcode 可以通过简单地将框架产品添加到使用框架的(假定的)应用程序的链接构建阶段来找出依赖关系。完毕。 Xcode 应该知道首先构建框架项目的目标,因为它在构建应用程序项目的目标时被链接。

    所以你的问题很可能只是知道 Xcode 在哪里寻找文件。由于工作空间中的项目共享该工作空间的构建文件夹,因此它们都可以“看到”彼此。但在框架的情况下,按文件名简单导入不会削减它。你需要:

    #import <MyNetworkingFramework/MyNetworkingFramework.h>
    

    由于您包含特定标头 (JSONRequest.h)(它必须是框架目标的复制标头构建阶段中的公共标头之一),您需要:

    #import <MyNetworkingFramework/JSONRequest.h>
    

    如果您的“共享”项目不是一个框架,您需要修改您的问题,以更全面地描述您的两个项目及其目标。

    【讨论】:

    • 嗨。关于框架中的标头,我有类似的问题。而不是#include ,我只想拥有#include。我可以使用 HEADER_SEARCH_PATHS 和框架内的 Headers 符号链接的路径来实现这一点,但这并不理想。还有其他方法吗?谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-10
    • 2011-07-18
    • 2012-10-01
    • 2020-05-27
    • 2013-09-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多