【问题标题】:Xcode linked project header files not found未找到 Xcode 链接的项目头文件
【发布时间】: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 包含在其中。

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

【问题讨论】:

    标签: ios objective-c iphone xcode


    【解决方案1】:
    1. 将运行脚本构建阶段添加到执行 ExternLib 的目标

      mkdir -p "${BUILT_PRODUCTS_DIR}ExternLibHeaders"
      
    2. 添加将 ExternLib 头文件复制到 ${BUILT_PRODUCTS_DIR}ExternLibHeaders 的 Copy Files 构建阶段,并将 ExternLib 的所有头文件添加到该阶段。

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

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

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

    【讨论】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2015-10-02
      • 2022-07-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-14
      • 2012-09-20
      • 2011-07-21
      相关资源
      最近更新 更多