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

标签 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: No such file or directory



    似乎没有办法让这两个文件成为该新项目的一部分,因为在包含库之后,我看到的仅有两个文件是MyLib.xcodeprojlixMyLib.a

    我在新项目中包含静态库的方式是执行以下操作:
  • MyLib.xcodeproj拖到我的新项目中。
  • libMyLib.a文件添加到新项目的目标中。
  • 添加到页眉搜索路径中我库的主目录(包含Folder1Folder2的文件夹)的相对路径。

  • 有什么办法可以让它自动知道在哪里可以找到这些文件,就像它可以在库本身中一样?我意识到我可以将Folder1Folder2路径添加到新项目的Header Search Paths中,但是我正在寻找一种更好的方法,因为这两个文件夹只是一个示例,它很容易就是50个文件夹我需要包括在内。我正在寻找一种解决方案,如果可能的话,该解决方案不需要我键入所有50个文件夹的路径。

    最佳答案

    尝试选中所有这些 header 的父文件夹路径旁边的“递归”复选框。

    关于objective-c - 如何包含静态库并使其#import路径仍然有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4074871/

    相关文章:

    ios - 如何在 UITableView 中获取视频的文件路径? (tmp 目录)

    ios - 更改为横向时制作可 ScrollView

    xcode - 未经修改的 SwiftUI/Core Data 默认应用程序代码无法在模拟器中运行?

    iPhone 应用程序代码签名

    python - 在图表工具中导入txt文件

    Eclipse 与其他项目的构建路径

    ios - 在 View Controller 之间传递数据

    ios - 如何将 tintColor 应用于 UIImage?

    ios - 如何从 NSArray 在 MKMapView 中添加坐标?

    python - 在python中导入外部 ".txt"文件