未找到 Xcode 链接的项目头文件

Posted

技术标签:

【中文标题】未找到 Xcode 链接的项目头文件【英文标题】:Xcode linked project header files not found 【发布时间】:2010-01-21 01:24:35 【问题描述】:

这是我的情况: ProjectA - Xcode 静态库项目。 ProjectA 包含带有文件 ExternLib.h 的逻辑代码组 ExternLib。 ExternLib.h 本身位于文件夹 Classes/lib/ExternLib 中(相对于 ProjectA 文件夹)。在 ProjectA 中,我将 ExternLib.h 简单地用作:#import "ExternLib.h"。这工作正常。

接下来我有 ProjectB。这包括作为链接 Xcode 项目的 ProjectA。目标已正确添加等。但是,当我在 ProjectB 中包含一个文件时,该文件又包含 ExternLib.h,在构建 ProjectB 时,我收到一条错误消息,指出找不到文件 ExternLib.h。

我尝试将 ExternLib.h 的路径添加到标题搜索路径(所有类型:相对、绝对、递归等),但无济于事。我检查了静态库目标是否具有复制标头步骤,并且文件 ExternLib.h 包含在其中。

任何人都能够阐明如何解决这个问题?

【问题讨论】:

【参考方案1】:

    将运行脚本构建阶段添加到执行 ExternLib 的目标

    mkdir -p "$BUILT_PRODUCTS_DIRExternLibHeaders"
    

    添加将 ExternLib 头文件复制到 $BUILT_PRODUCTS_DIRExternLibHeaders 的 Copy Files 构建阶段,并将 ExternLib 的所有头文件添加到该阶段。

    在 ProjectB 的应用目标中,将 $BUILT_PRODUCTS_DIR/ExternLibHeaders/ 添加到所有配置的标头搜索路径中。

    在 Xcode > Preferences > Build 中,将 Build Products Directory 设置为某个常用位置。

第四步很关键;它确保两个项目的BUILT_PRODUCTS_DIR 相同。

【讨论】:

这很有帮助。但事实证明我的标题路径没有被正确读取(不知道为什么)。我最终恢复了所有项目更改,然后添加到配置中的标题路径。然后一切正常。感谢您的时间。娜仁【参考方案2】:

真的很难说哪里出了问题。

我会从一个关于构建和使用静态库的教程从头开始,看看是否有任何步骤能让你产生任何想法。

【讨论】:

以上是关于未找到 Xcode 链接的项目头文件的主要内容,如果未能解决你的问题,请参考以下文章

在 ReskIt 中找不到 xcodebuild 头文件

如何在 Xcode 中使用 Q_OBJECT 宏编译头文件?

Xcode 8.2 无法从添加的搜索路径中找到头文件?

xcode 在哪里保留其库和头文件的默认路径?

Xcode 5'忘记'头文件..?

为啥 POD 文件无法在 Xcode 中导入目标项目头文件?