如何包含静态库并使其#import路径仍然有效?

时间:2010-11-02 04:15:41

标签: objective-c xcode import compiler-errors

假设我有一个使用以下文件结构创建的静态库:

  • Folder1中
    • File1.h
  • FOLDER2
    • File2.h

现在File1.h内部,它指的是File2.h没有路径(例如#import File2.h)。库成功构建。 (它不需要完整路径(即#import Folder2/File2.h),因为这两个文件都属于同一个项目。)

现在当我将这个库包含在另一个项目中时,#import File2.h语句不再编译,我必须将其更改为#import Folder2/File2.h(或类似的东西)。这意味着我必须修改原始库,这是不好的。

我得到的具体错误信息是:

  

File2.h:没有这样的文件或目录

似乎没有办法让它知道这两个文件应该是这个新项目的一部分,因为我在列入库之后看到的只有两个文件是MyLib.xcodeproj和{{1 }}

我在新项目中包含静态库的方法是执行以下操作:

  1. lixMyLib.a拖到我的新项目中。
  2. MyLib.xcodeproj文件添加到我的新项目目标。
  3. 向页眉搜索路径添加指向我的库主目录的相对路径(包含libMyLib.aFolder1的文件夹)。
  4. 有没有什么方法可以让它自动知道在哪里可以找到这些文件,就像在库中一样?我意识到我可以将路径Folder2Folder1添加到我的新项目的标题搜索路径中,但我正在寻找更好的方法,因为这两个文件夹只是一个示例,并且它可以很容易地成为我需要包含的50个文件夹。我正在寻找一种解决方案,如果可能的话,我不需要输入所有50个文件夹的路径。

1 个答案:

答案 0 :(得分:1)

尝试检查所有这些标头的父文件夹路径旁边的“递归”复选框。