Xcode 4.2:如何从子项目导入.h文件

时间:2012-02-29 15:22:20

标签: ios xcode

我是Xcode子项目的新手。在我的iPhone应用程序项目MyProject中,我试图将一些常用代码重构为名为MyLibrary的静态库项目。创建MyLibrary并移动代码后,MyProject不再编译。错误是MyProject无法在MyLibrary中看到.h文件。

错误MyLibraryConfig.h: No such file or directory即将出现:

#import "MyLibraryConfig.h"
  • 如何导入MyLibrary中的MyProject .h文件?
  • 这里的最佳做法是什么?假设我有多个这样的库,将这些库添加到父项目的头搜索路径是很繁琐的。

2 个答案:

答案 0 :(得分:26)

在构建设置中 - >标题搜索路径 - >添加以下条目

$(SRCROOT)并将其标记为递归。

enter image description here

答案 1 :(得分:10)

也许您的头文件也在子目录中。

想象一下以下目录设置:

- Desktop
    - MyProject
        - MyProject.xcodeproj
        - main.m

        - MyLibrary
            - MyLibrary.xcodeproj
            - MyHeaderFile.h      <-- wanted header file

如果 main.m 包含以下内容:

#include "MyHeaderFile.h"

int main() {
    return 0;
}

编译器(gcc)会认为 MyHeaderFile.h main.m 位于同一目录中,包含它。要告诉编译器你的意思是子文件夹中的头文件,你可以做两件事。

  • 您可以在gcc编译器中添加一个目录:“嘿,也可以查看该文件夹”。您可以使用-iquote myFolder标记来执行此操作。
  • 您可以在include语句中包含该目录:#include "MyLibrary/MyHeaderFile.h"

当然可能存在另一个问题,但这种接缝就像最直接的一样。