Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c libxml/tree.h没有这样的文件或目录_Objective C_Iphone_Xcode_Libxml2 - Fatal编程技术网

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

Objective c libxml/tree.h没有这样的文件或目录,objective-c,iphone,xcode,libxml2,Objective C,Iphone,Xcode,Libxml2,我得到以下错误 libxml/tree.h没有这样的文件或目录 我已经在我的项目中添加了libxml2.dylib,但是我遇到了这种类型的麻烦。 请帮助我。按照“设置项目文件”下的说明进行操作 设置项目文件 您需要将libxml2.dylib添加到项目中(不要将其放在框架部分)。在Mac上, 您可以在/usr/lib/libxml2.dylib中找到它,对于iPhone,您可以 想要 /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iP

我得到以下错误

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

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

按照“设置项目文件”下的说明进行操作

设置项目文件 您需要将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


另请参见。

您还需要将
/usr/include/libxml2
添加到您的include路径。

形成@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),我们还有一件事要做。转到项目生成设置(
项目->编辑项目设置->生成
)并找到“
搜索路径
”。在“标头搜索路径”中,在Mac上添加以下路径:

 /usr/include/libxml2 

在升级到Snow Leopard和XCode 3.2之后,当我重新打开一个项目(在XCode 3.0上开发)时,我遇到了这个问题。奇怪的是,它只影响了某些类型的构建(仿真器构建进行得很好,设备构建给了我错误)。我在/usr/include中有libxml2,它确实包含libxml/tree.h


甚至神奇的“干净”也不起作用,但“XCode”菜单下的“空缓存…”(在苹果徽标和文件之间)起了作用(在以前的版本中是否有该菜单?)。我想不出原因,但在一次清理之后,没有人再抱怨libxml/tree.h

另一种解决方案。执行标题搜索路径等中的所有步骤,并确保在项目设置中的项目中选择的配置正确。双击项目生成设置时,您可能正在更改分发设置,但您正在尝试在“调试”设置中添加标题搜索路径。因此,请确保设置正确。或者选择所有设置

我不确定区别是什么,但将包含路径添加到项目以及目标。

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

在XCode中,单击项目\编辑项目设置并确保选中“所有配置”

查找搜索路径\标题搜索路径设置并将/usr/include/libxml2添加到列表中

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


原始帖子:

我发现使用xCode 4.3.2我必须进入 $(SDKROOT)/usr/include/libxml2 进入标题搜索字段,而不是简单地
/usr/include/libxml2

我发现了同样的情况,我不得不为最新的Xcode(4.3.x)添加$(SDKROOT)/usr/include/libxml2。另外,让我盘旋数小时的是,我修改的是“目标”,而不是“项目”(Xcode的新UI非常复杂,很容易忽略这一点)。你需要修改项目

在Xcode 4.3/5/6中添加libxml2 添加libxml2是一个巨大的、沉重的、挑剔的麻烦。如果你打算这么做,在你的项目建设走得太远之前就这么做


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

1.目标设置 点击你的目标(不是你的项目)并选择
构建阶段

单击标题为“将二进制文件链接到库”的显示三角形。单击
+
添加库

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

2.项目设置 现在,您必须告诉您的项目在哪里查找它三次

选择
生成设置选项卡

向下滚动至
链接
部分。 在“项目”列下,双击
其他链接器标志
行。 单击
+
并将
-lxml2
添加到列表中

还有

在同一选项卡中,向下滚动至
搜索路径
部分

框架搜索路径
行的项目列下添加
/usr/lib/libxml2.dylib

标题搜索路径
用户标题搜索路径
行中添加
$(SDKROOT)/usr/include/libxml2

在最后两种情况下,确保在调试和发布中输入路径

3.清洁的 在
产品
菜单下,选择
清洁


然后,如果我是你(让我们面对现实吧,我可能是),我会退出Xcode并走开。当您返回并启动时,您应该准备好离开。

同时选择“始终搜索用户路径”以选择是。在XCode 4.3.3中,其默认编号为

,请按照以下步骤操作

  • 添加libxml2
    可以在mac机器上的/usr/lib/libxml2.dylib上找到libxml2.dylib

  • 更改“标题搜索路径”
    单击[项目名称](在左面板)->项目->构建设置->全选(默认为基本)
    在搜索框中键入标题搜索路径
    双击标题搜索路径->+->“$(SDKROOT)/usr/include/libxml2”

  • 将-lxml2添加到“其他链接器标志”
    搜索“其他链接器标志”作为sear
    sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include /usr/include