libxml/tree.h没有这样的文件或目录

Sag*_*ari 98 iphone xcode objective-c libxml2

我收到了以下错误.

libxml/tree.h没有这样的文件或目录

我已经添加libxml2.dylib到我的项目中,但是我遇到了这种麻烦.请帮我.

Mat*_*all 213

按照此处 "设置项目文件"下的说明进行操作.

设置项目文件

您需要将libxml2.dylib添加到项目中(不要将其放在框架部分中).在Mac上,你会/usr/lib/libxml2.dylib在iPhone上找到它,你会想要这个 /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.0.sdk/usr/lib/libxml2.dylib 版本.

由于libxml2是一个.dylib(不是一个友好的.framework),我们还有一件事要做.转到项目构建设置(项目 - >编辑项目设置 - >构建),然后找到"搜索路径".在"标题搜索路径"中添加以下路径:

$(SDKROOT)/usr/include/libxml2
Run Code Online (Sandbox Code Playgroud)

另见OP的答案.

  • 当它要求您将"/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.0.sdk/usr/include/libxml2"添加到页眉搜索路径时,请不要这样做.改为添加"/ usr/include/libxml2.这使您的项目独立于特定的SDK. (12认同)

小智 86

在Xcode 4.3/5/6中添加libxml2

添加libxml2是一个巨大,肥胖,挑剔的痛苦.如果您要这样做,请在构建项目之前做好.


您需要以两种方式添加它:

1.目标设置

单击您的目标(而不是您的项目)并选择Build Phases.

单击标题为的三角形显示Link Binary With Libraries.单击+以添加库.

滚动到列表底部并选择libxml2.dylib.这将libxml2库添加到您的项目中.

2.项目设置

现在,你要告诉你的项目到哪里寻找它3次以上.

选择Build Settings tab.

向下滚动到该Linking部分.在您的项目列下,双击该Other Linker Flags行.单击+并添加-lxml2到列表中.

还有更多.

在同一选项卡中,向下滚动到该Search Paths部分.

在你的项目列中Framework Search Paths添加行/usr/lib/libxml2.dylib.

Header Search Paths User Header Search Paths行添加$(SDKROOT)/usr/include/libxml2.

在最后两种情况下,确保在Debug Release中输入路径.

3.清洁

Product菜单下选择Clean.

然后,如果我是你(让我们面对它,我可能是)我会退出Xcode然后走开.当你回来发射时,你应该很高兴.


And*_*ard 22

对于Xcode 6,我必须执行以下操作:

1)将"libxml2.dylib"库添加到我的项目的TARGET(构建阶段 - >链接二进制库)

2)将"$(SDKROOT)/ usr/include/libxml2"添加到TARGET上的标题搜索路径(构建设置 - >标题搜索路径)

在此之后,目标应该成功构建.


Mic*_*ker 19

您还需要添加/usr/include/libxml2到包含路径.


Sag*_*ari 11

形成@Matt Ball的链接,

我发现以下对我有帮助.

您需要将libxml2.dylib添加到项目中(不要将其放在框架部分中).在Mac上,你会/usr/lib/libxml2.dylib在iPhone上找到它,你会想要这个/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.0.sdk/usr/lib/libxml2.dylib版本.

由于libxml2是一个.dylib(不是一个友好的.framework),我们还有一件事要做.转到项目构建设置(Project->Edit Project Settings->Build)并找到" Search Paths".在"标题搜索路径"中,在Mac上添加以下路径:

 /usr/include/libxml2 
Run Code Online (Sandbox Code Playgroud)


ben*_*ink 11

Ray Wenderlich有一篇关于使用gdata解决这个问题的博客文章.基本上这些简单的步骤:

在XCode中,单击Project\Edit Project Settings并确保选中"All Configurations".

找到Search Paths\Header Search Paths设置并将/ usr/include/libxml2添加到列表中.

最后,找到Linking\Other Linker Flags部分并将-lxml2添加到列表中.

原帖:用gdataxml读写xml文档

  • 在很多地方找到了这个答案,但是他们都忘了提到它是项目的Header搜索路径,而不是目标.非常感谢您正确解释它. (2认同)

小智 7

我发现相同,我不得不为最新的Xcode(4.3.x)添加$(SDKROOT)/ usr/include/libxml2.另外,让我绕圈数小时的事实是我正在修改"TARGET"而不是"PROJECT"(Xcode的新UI非常复杂,很容易被忽视).你需要修改PROJECT!


S.P*_*.P. 5

另一种方法.执行标题搜索路径等中的所有步骤,并确保项目设置中项目中的选定配置是正确的.当您双击项目构建设置时,您可能正在更改分发设置,但您尝试在"调试"设置中添加标题搜索路径.因此,请确保您的设置正确.或选择所有设置