为什么我收到“找不到libxml / tree.h文件”错误?

时间:2012-03-12 12:14:21

标签: iphone xcode libxml2

我刚刚安装了Xcode版本4.3.1,我收到了这个错误:

  

未找到libxml / tree.h文件

我还安装了Xcode 4.2,并且在同一个项目中我得到了同样的错误。

我已使用/usr/include/libxml2配置了标题搜索路径 我也试过了$(SDKROOT) / usr/include/libxml2但它没有用。

我还将其他链接器标记lxml2

放在一起

14 个答案:

答案 0 :(得分:98)

在标题搜索路径中包含以下内容,您应该免于Apple对其Xcode更新所带来的任何奇怪之处:<​​/ p>

$(SDKROOT)/usr/include/libxml2

答案 1 :(得分:27)

在您的问题中,/usr之间有空格。也许这是一个错字,但路径是:

/usr/include/libxml2

确认这是目标构建设置中的路径:

Target build settings

您还可以验证文件系统上是否存在路径。

答案 2 :(得分:19)

LibXML2库解决了

解!

如果您在/ Application

中有xcode 4.3.x.

只需在应用程序目标中添加:“/ usr / include / libxml2”而不引用 - &gt;标题搜索路径。

为此 - &gt;双击该行 - &gt;在小窗口上单击加号写入/ usr / include / libxml2

nb - 还需要将libxml2.dylib添加到框架中。我使用2.2.7.3

希望能帮助你

答案 3 :(得分:7)

它出现在4.3.1中,您需要在目标和项目中包含标题搜索路径。我不确定这是从4.2到4.3.1的问题,但我只是更新到Lion并遇到了同样的问题。

答案 4 :(得分:7)

我通过将标题搜索路径设置为:

来解决了这个问题
${SDK_DIR}/usr/include/libxml2

始终将用户路径搜索为NO(无论如何强烈建议) 这只是在目标中。

答案 5 :(得分:4)

我今天又遇到了这个问题,我建议你用引号包装路径:

"$(SDKROOT)/usr/include/libxml2"

由于路径上有空位,我浪费了半个小时。

答案 6 :(得分:3)

正确的路径是(对于'标题搜索路径'):

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

答案 7 :(得分:3)

Xcode 6:

执行以下操作:

1.0)选择&#34; mainApp&#34;目标:转到设置 - &gt;在&#34;标题搜索路径&#34;

1.1)添加: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/include/libxml2。

2.0)选择&#34; TestApp&#34;目标:转到设置 - &gt;在&#34;标题搜索路径&#34;

2.1)添加: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/include/libxml2。

答案 8 :(得分:2)

我有同样的问题。

我尝试设置路径('标题搜索路径')到/usr/include/libxml2,构建错误!

我尝试设置路径('标题搜索路径')到$(SDKROOT)/usr/include/libxml2,构建错误!

但我设置路径

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

构建成功!

答案 9 :(得分:2)

2个解决方案:

  1. 标题搜索路径应使用SDK root更新:$(SDKROOT)/usr/include/libxml2
  2. 输入以下命令从终端安装XCode 5的命令行工具:xcode-select --install XCode 4应该在首选项&gt;下载部分中有命令行工具安装选项。
  3. 我个人会选择第二个。

答案 10 :(得分:0)

我必须像这样配置other Linker Flags: 对于调试和发布,请执行Add Build Settings(右下角)和Add Conditional Settings。然后,选择Any iOS Simulator SDK并插入设置-lxml2

答案 11 :(得分:0)

就我而言,主要的困难是应用程序由两个项目组成,第二个项目有几个目标。我花了一段时间才意识到错误发生在其中一个目标而不是主项目的目标中。然后我只需要在该特定目标的标题搜索路径中添加(in)着名的$(SDKROOT)/usr/include/libxml2

我正在使用Xcode Version 5.0.1

答案 12 :(得分:0)

我已经有了标题搜索路径和框架,但是收到了这个错误。强行退出xcode然后重新启动它对我有用(我使用的是xcode 7.2)

答案 13 :(得分:0)

在调试/发布中,将搜索路径添加到Any Architecture |任何SDK 这是单击调试附近的+按钮并添加$ {SDKROOT} / usr / include / libxml2 同样,上面也要发布