假设我有一个使用以下文件结构创建的静态库:
现在在
File1.h
内部,它引用的是不带路径的File2.h
(例如#import File2.h
)。库成功构建。 (它不需要完整路径(即#import Folder2/File2.h
),因为两个文件都是同一个项目的一部分。)现在,当我将此库包含在另一个项目中时,该
#import File2.h
语句将不再编译,而我必须将其更改为#import Folder2/File2.h
(或类似名称)。这意味着我必须修改原始库,这不好。我收到的特定错误消息是:
File2.h: No such file or directory
似乎没有办法让这两个文件成为该新项目的一部分,因为在包含库之后,我看到的仅有两个文件是
MyLib.xcodeproj
和lixMyLib.a
。我在新项目中包含静态库的方式是执行以下操作:
MyLib.xcodeproj
拖到我的新项目中。 libMyLib.a
文件添加到新项目的目标中。 Folder1
和Folder2
的文件夹)的相对路径。 有什么办法可以让它自动知道在哪里可以找到这些文件,就像它可以在库本身中一样?我意识到我可以将
Folder1
和Folder2
路径添加到新项目的Header Search Paths中,但是我正在寻找一种更好的方法,因为这两个文件夹只是一个示例,它很容易就是50个文件夹我需要包括在内。我正在寻找一种解决方案,如果可能的话,该解决方案不需要我键入所有50个文件夹的路径。
最佳答案
尝试选中所有这些 header 的父文件夹路径旁边的“递归”复选框。
关于objective-c - 如何包含静态库并使其#import路径仍然有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4074871/