未找到 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 链接的项目头文件的主要内容,如果未能解决你的问题,请参考以下文章