简体   繁体   中英

Xcode 4.2: How to import .h file from subproject

I am new to Xcode subprojects. In my iPhone app project MyProject , I am trying to refactor some common code to a static library project called MyLibrary . After I create MyLibrary and move the code, MyProject is no-longer compiling. The error is that the MyProject cannot see the .h files in MyLibrary .

The error MyLibraryConfig.h: No such file or directory is coming in the line:

#import "MyLibraryConfig.h"
  • How to import the MyLibrary .h files in MyProject ?
  • What is the best practice here? Assuming I have multiple such libraries, it is tedious to add these to header search paths to the parent project.

In build settings --> Header Search Path --> Add below entry

$(SRCROOT) and mark it as recursive.

在此输入图像描述

Maybe your header file is also in a subdirectory.

Imagine the following directory setup:

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

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

If main.m has these contents:

#include "MyHeaderFile.h"

int main() {
    return 0;
}

The compiler (gcc) will think that MyHeaderFile.h is located in the same directory as main.m , from which it is included. To tell the compiler you mean the header file in a subfolder, you have can do two things.

  • You can add a directory to the gcc compiler that says: "hey, also look in that folder". You can do this by using the -iquote myFolder flag.
  • You can include the directory in the include-statement: #include "MyLibrary/MyHeaderFile.h"

There could of course be another problem, but this seams like the most straightforward one.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM