我收到以下错误。
libxml/tree.h 没有这样的文件或目录
我已经添加libxml2.dylib
到我的项目中,但是我遇到了这种麻烦。请帮我。
我收到以下错误。
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
另请参阅OP 的答案。
添加 libxml2 是一个巨大的、肥胖的、挑剔的痛苦。如果您打算这样做,请在构建项目时完成它。
您需要通过两种方式添加它:
单击您的目标(不是您的项目)并选择Build Phases
.
单击标题为的显示三角形Link Binary With Libraries
。单击+
以添加库。
滚动到列表底部并选择libxml2.dylib
。这会将 libxml2 库添加到您的项目中。
现在你必须再告诉你的项目在哪里寻找它三遍。
选择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 中输入路径。
在Product
菜单下选择Clean
。
然后,如果我是你(让我们面对现实,我可能是)我会退出 Xcode 并走开。当您回来并启动时,您应该很高兴。
1)将“libxml2.dylib”库添加到我的项目的目标(构建阶段 - >链接二进制与库)
2)将“$(SDKROOT)/usr/include/libxml2”添加到目标上的标题搜索路径(构建设置->标题搜索路径)
在此之后,目标应该成功构建。
您还需要添加/usr/include/libxml2
到您的包含路径。
形成@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
Ray Wenderlich 有一篇关于使用 gdata 解决此问题的博客文章。基本上这些简单的步骤:
在 XCode 中,单击 Project\Edit Project Settings 并确保选中“All Configurations”。
找到 Search Paths\Header Search Paths 设置并将 /usr/include/libxml2 添加到列表中。
最后,找到 Linking\Other Linker Flags 部分并将 -lxml2 添加到列表中。
我发现相同,我必须为最新的 Xcode (4.3.x) 添加 $(SDKROOT)/usr/include/libxml2。此外,让我转了几个小时的原因是我正在修改“TARGET”而不是“PROJECT”(Xcode 的新 UI 非常复杂,很容易忽略这一点)。您需要修改项目!
另一种解决方案。执行标题搜索路径等中的所有步骤,并确保您在项目设置中的项目中选择的配置是正确的。当您双击项目构建设置时,您可能正在更改分发设置,但您正在尝试在“调试”设置中添加标题搜索路径。因此,请确保您的设置正确。或选择所有设置
我发现使用 xCode 4.3.2 我必须在标题搜索字段中输入 $(SDKROOT)/usr/include/libxml2 而不仅仅是 /usr/include/libxml2
从 Mavericks (OS X 10.9) 开始,/usr/include 目录消失了。这里有一半的答案已经过时,因为在您整理包含目录之前,应用程序不会编译。
我使用以下命令解决了在终端中创建指向 MacOSX SDK 的符号链接的问题:
sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include /usr/include
应用程序现在再次编译。
我不确定有什么区别,但将包含路径添加到项目以及目标中。
在 Mountain Lion 上,我遇到了同样的问题,通过添加/usr/include/libxml2
带有“递归”标志的包含路径来解决这个问题,如果上述所有方法都没有结果,请使用它。
在升级到 Snow Leopard 和 XCode 3.2 后,当我重新打开一个项目(在 XCode 3.something on Leopard 上开发)时,我遇到了这个问题。很好奇,它只影响了某些类型的构建(模拟器构建很好,设备给了我错误)。我在 /usr/include 有 libxml2,它确实包含 libxml/tree.h。
甚至神奇的“清理”也不起作用,但“XCode”菜单下的“空缓存...”(在 Apple 徽标和文件之间)起到了作用(以前版本中是否有该菜单?)。击败我的原因,但在清理之后没有更多关于 libxml/tree.h 的投诉
还要选择“始终搜索用户路径”为“是”。在 XCode 4.3.3 中默认为 NO
请按照以下步骤
添加 libxml2
libxml2.dylib 可以在您的机器上的 /usr/lib/libxml2.dylib 上找到
更改“标题搜索路径”
单击[项目名称](在左侧面板中)-> 项目-> 构建设置-> 全选(默认为基本)
在搜索框中键入标题搜索路径
双击标题搜索路径-> + - > "$(SDKROOT)/usr/include/libxml2"
将 -lxml2 添加到“其他链接器标志”
搜索“其他链接器标志”作为在步骤 2 中的搜索,
单击“其他链接器标志”行。单击“+”并将“-lxml2”添加到列表中。
将您的项目类型更改为 ARC -> No ie Automatic Reference Counting 为 No 您可以按照步骤 2 搜索 ARC
Xcode 4.5 我完全使用了 CW 的解决方案。唯一的例外是 $(SDKROOT)/usr/include/libxml2 对我不起作用,我不得不将"$(SDK_DIR)"/usr/include/libxml2 添加到我的项目标题搜索路径和用户标题搜索路径中. 在该项目成功构建之后。
编辑:我的项目中有 Google GData 项目(称为 MyProject)(我的项目使用)。GData 需要 libxml。为了成功构建项目 MyProject ,我将 "$(SDK_DIR)"/usr/include/libxml2 添加到 MyProject 的 Header Search Paths 中,并将 no 添加到 GData 的 Header Search Paths 中。如果我没有将它添加到 MyProject,则项目没有构建)。
我发现这个视觉教程很有用。
Blockquote 在 Xcode 4.3.x 中添加 libxml2
添加 libxml2 是一个巨大的、肥胖的、挑剔的痛苦。如果您打算这样做,请在构建项目之前完成它。
就是这样。
目标设置
单击您的目标(不是您的项目)并选择“构建阶段”。单击标题为“Link Binary With Libraries”的显示三角形。单击“+”以添加库。滚动到列表底部并选择“libxml2.dylib”。这会为您的项目添加 libxml2 库 2……但请稍等。
项目设置
现在你必须再告诉你的项目在哪里寻找它三遍。
选择“构建设置”选项卡。向下滚动到“链接”部分。在您的项目的列下,双击“Other Linker Flags”行。单击“+”并将“-lxml2”添加到列表中。
还有更多。
在同一选项卡中,向下滚动到“搜索路径”部分。在“框架搜索路径”行中的项目列下添加“/usr/lib/libxml2.dylib”。
在“标头搜索路径”和“用户标头搜索路径”行中添加“$(SDKROOT)/usr/include/libxml2”。在最后两种情况下,请确保在 Debug AND Release 中输入路径。
然后。在“产品”菜单下选择“清洁”。
这对 Xcode5 也有效!谢谢!
不要将 libxml2.dylib 放在 frameworks 文件夹下,将其放在根目录下的根目录下(左上角蓝色图标)
然后单击项目(左上角蓝色图标),转到构建设置,在搜索框中键入“标题搜索路径”,然后添加此“$(SDKROOT)/usr/include/libxml2”
这段代码解决了我的问题希望它能帮助你解决这个问题
@Aqib Mumtaz - 我按照上面 Parris 题为“在 Xcode 4.3 / 5 / 6 中添加 libxml2”的说明中的说明使其工作。使用框架搜索路径的步骤不起作用,编译器会抱怨。无论如何都要向那个家伙致敬!
我正在使用 Xcode 6.2b3
无论您使用的是什么版本的 Xcode,它都是错误的。不要总是假设编译错误是真实的。很多时候它不遵循标题搜索路径并且未找到明确列出的包含。更糟糕的是,由此产生的错误往往会把你引向不同的方向,所以你会浪费大量时间在周围乱吃东西。照这样说...
从这个开始推荐婴儿步骤......:
笔记:
希望这可以帮助。
如果您碰巧正在为退伍军人开发一些东西,比如说 iPhone / iPad 或 Mac 应用程序,并且正在使用称为“MDWS”或“VIA”的东西,它们是医疗记录系统的基于 SOAP 的接口......请联系我
1)我将 libxml 文件添加到 Build Phases.follow this link
2)我添加了其他链接器标志(-ObjC
对于项目和测试项目目标)
3)我将标题搜索路径设置为"${SDKROOT}/usr/include/libxml2"
(不要忘记两边的双引号)(对于项目和测试项目目标)
其中之一将解决问题。如果不是,您必须应用上述所有三个。
我坚持我添加错了,然后我意识到问题是它不支持弧,所以在这里检查支持,救生员-> http://www.michaelbabiy.com/arc-compliant-gdataxml-library/