Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Include Headers from added frameworks on Xcode

I want to work with some frameworks like glew and cg so i manually added

the needed frameworks to my project by right clicking the project -> Add files to ...

and choosing the correct framework. The problem is, when i try to include the header files,

Xcode cant find any of them. I hope this picture will help to understand:

enter image description here

And:

enter image description here

The error given is for the glew framework, but it also happens on Cg.

As you can see on the left, The needed frameworks were added.

Any idea on how i can include these headers?

After trying to add the header files manually i got an architecture error:

enter image description here

I dont know if this is how it should look like. Thanks!

like image 204
Itzik984 Avatar asked Mar 20 '13 22:03

Itzik984


People also ask

How do I add a header search path in Xcode?

Look at Preferences->Locations->"Custom Paths" in Xcode's preference. A path added here will be a variable which you can add to "Header Search Paths" in project build settings as "$cppheaders", if you saved the custom path with that name. Set HEADER_SEARCH_PATHS parameter in build settings on project info.

How do I add frameworks in Xcode?

To include a framework in your Xcode project, choose Project > Add to Project and select the framework directory. Alternatively, you can control-click your project group and choose Add Files > Existing Frameworks from the contextual menu.


1 Answers

Before starting, remove the framework and all files you have added while trying to make it work.

Then, you have to add the frameworks in the Build Phases of your target. Then go into Link Binary With Libraries and select your framework from there.

This should do it. Your headers should be available as auto-completion after each #import directive. If it does not work (it sometimes happens), there are additional steps I can provide to you.

Additional steps:

Go to your project settings, in the build settings:

  • Complete the Framework Search Paths with the path of your framework
  • Do the same with User Header Search Path

Then, it should work. If it does not, you will need to add the full path of your header in the #import directive. Example:

#import "/path/to/my/header.h"


Apple's documentation available here states:

  1. In the project navigator, select your project
  2. Select your target
  3. Select the 'Build Phases' tab
  4. Open 'Link Binaries With Libraries' expander
  5. Click the '+' button
  6. Select your framework
  7. (optional) Drag and drop the added framework to the 'Frameworks' group
like image 141
Jean Avatar answered Oct 02 '22 20:10

Jean