Xcode 4.2: How to import .h file from subproject
ios, xcode
Solution
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.
Problem
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.