libxml/tree.h no such file or directory

来源:互联网 发布:一切用数据说话啥意思 编辑:程序博客网 时间:2024/05/18 01:51

Works for me. Remember to add the library in Link Binary en Build Phases Section of the target project. pic2 pic1


You need to put all the libxml headers on the include path. For Xcode do this by adding/usr/include/libxml2 to the header paths (that will pass -I/usr/include/libxml2 to the c compiler)

This is in the build settings tab in Search Paths -> Header Search Paths

enter image description here


There's just a few simple steps:

  • Copy the RaptureXML/RaptureXML folder into your own project and import "RXMLElement.h" somewhere (e.g., your PCH file).
  • Link in libz.dylib to your target.
  • Link in libxml2.dylib to your target.
  • In your build settings, for the key "Header Search Paths", add "$(SDK_DIR)"/usr/include/libxml2

RaptureXML supports ARC. In fact, it does so without a branch. The code automatically detects if ARC is being used in your project and compiles accordingly. You are free to use any version of LLVM or gcc as well! (Though you should be using LLVM by now.)


Adding libxml2 in Xcode 4.3.x

Adding libxml2 is a big, fat, finicky pain in the ass. If you're going to do it do it before you get too far in building your project.

Here's how.

Target settings

Click on your target (not your project) and select "Build Phases". Click on the reveal triangle titled "Link Binary With Libraries". Click on the "+" to add a library. Scroll to the bottom of the list and select "libxml2.dylib". That adds the libxml2 library 2 your project… but wait.

Project settings

Now you have to tell your project where to look for it three more times.

Select the "Build Settings tab". Scroll down to the "Linking" section. Under your project's columns double click on the "Other Linker Flags" row. Click the "+" and add "-lxml2" to the list.

Still more.

In the same tab, scroll down to the "Search Paths" section. Under your project's column in the"Framework Search Paths" row add "/usr/lib/libxml2.dylib".

In the "Header Search Paths" AND the "User Header Search Paths" row add"$(SDKROOT)/usr/include/libxml2". In those last two cases make sure that path is entered in Debug AND Release.

Then. Under the "Product" Menu select "Clean".

Then, if I were you (and let's face it I probably am) I'd quit Xcode and walk away. When you come back and launch you should be good to go.