问题
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?
回答1:
In your build settings, add the following to your Header Search Paths:
$SDKROOT/usr/include/libxml2
回答2:
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.
回答3:
add: $SDKROOT/usr/include/libxml2
回答4:
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.
回答5:
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"
来源:https://stackoverflow.com/questions/14622684/import-libxml-tree-h-file-not-found-after-xcode-update