Shameem
Shameem

Reputation: 14339

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"

Upvotes: 11

Views: 15092

Answers (2)

Saran
Saran

Reputation: 6392

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

$(SRCROOT) and mark it as recursive.

enter image description here

Upvotes: 28

v1Axvw
v1Axvw

Reputation: 3054

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.

Upvotes: 10

Related Questions