36

Lastnight I updated my iPhone to iOS 6.1, my current version of xcode wouldn't build to the phone as I needed the newest version.

I went from xcode 4.5.2 to xcode 4.6, I made 0 changes in my project file.

What used to compile completely fine, now gives me a file not found error

#import <libxml/tree.h> 'libxml/tree.h' file not found

I have my search paths correctly linked up with

$(SDKROOT)/usr/include/libxml2

and libxml2 is linked and required in build phases.

Edit:

Peculiar I changed my search paths to the following and voila..

/usr/include/libxml2

Not sure why this has fixed this issue, could anyone enlighten me as to what's changed in xcode?

Bongeh
  • 2,300
  • 2
  • 18
  • 30
  • 2
    Does this help: http://stackoverflow.com/questions/4903939/libxml2-dylib-and-xcode4 – trojanfoe Jan 31 '13 at 10:28
  • 2
    Hmm I solved my issue by doing as above, I just don't understand what's changed between 4.5.2 and 4.6 to break my project – Bongeh Jan 31 '13 at 11:19
  • OMG, was that it? ty Bongeh that helped me 2 solve this issue in Xcode4.6. – Boris Gafurov Feb 22 '13 at 16:41
  • What version of Xcode are you using? Because we are now at 4.6.2. You could check out this directory: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/ that should be your SDKROOT. And check if /usr/include/libxml2 doesn't exist. – Leon Apr 16 '13 at 12:50
  • Does it matter what the Display name and setting name are? – Chris.Stover Aug 22 '13 at 21:04

5 Answers5

66

In your build settings, add the following to your Header Search Paths:

$SDKROOT/usr/include/libxml2
Benjamin Hodgson
  • 42,952
  • 15
  • 108
  • 157
Aaron Bratcher
  • 6,051
  • 2
  • 39
  • 70
6

For me what worked was adding this to header search path:

$(SDKROOT)/usr/include/libxml2

Slightly difference from other answer, probably to do with newer version of Xcode.

chris
  • 4,840
  • 5
  • 35
  • 66
5

add: $SDKROOT/usr/include/libxml2

enter image description here

ylgwhyh
  • 1,588
  • 18
  • 21
2

In Xcode6 and latest versions add this to your Header Search Paths:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/include/libxml2

and remember to add the search path also to the test target.

Nischal Hada
  • 3,230
  • 3
  • 27
  • 57
Hongli Yu
  • 368
  • 3
  • 7
0

I upgraded libxml2 on my mac and then:

If you need to have libxml2 first in your PATH run:                                                                                                                                                                                             
  echo 'export PATH="/usr/local/opt/libxml2/bin:$PATH"' >> ~/.zshrc

For compilers to find libxml2 you may need to set:
  export LDFLAGS="-L/usr/local/opt/libxml2/lib"
  export CPPFLAGS="-I/usr/local/opt/libxml2/include"

For pkg-config to find libxml2 you may need to set:
  export PKG_CONFIG_PATH="/usr/local/opt/libxml2/lib/pkgconfig"
Oded BD
  • 2,788
  • 27
  • 30