2010-01-21 86 views
2

这里是我的情况:
ProjectA - Xcode静态库项目。
ProjectA包含带有文件ExternLib.h的逻辑代码组ExternLib。 ExternLib.h本身位于文件夹Classes/lib/ExternLib(相对于ProjectA文件夹)中。在ProjectA中,我使用ExternLib.h:#import“ExternLib.h”。这工作正常。未找到Xcode链接的项目头文件

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

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

任何人都可以阐明如何解决这个问题?

回答

0

真的很难说可能出现了什么问题。

我会从头开始编写和使用静态库的教程,看看是否有任何步骤慢跑你的任何想法。

1
  1. 添加一个运行脚本生成阶段的目标ExternLib执行

    mkdir -p "${BUILT_PRODUCTS_DIR}ExternLibHeaders" 
    
  2. 添加一个拷贝文件建立阶段是复制ExternLib头文件到${BUILT_PRODUCTS_DIR}ExternLibHeaders,并添加所有的ExternLib的到这个阶段的标题。

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

  4. 在Xcode>首选项>生成中,将生成产品目录设置为某个常见位置。

第四步至关重要;它确保BUILT_PRODUCTS_DIR对于两个项目都是相同的。

+0

这很有帮助。但事实证明,我的标题路径没有正确读取(不知道为什么)。我最终恢复了所有项目更改,然后添加到配置中的标题路径。一切都很好。感谢您的时间。 Naren – Naren 2010-01-23 04:40:49