我收到以下错误。
libxml / tree.h没有这样的文件或目录
我已经添加libxml2.dylib
到我的项目中,但是遇到这种麻烦。请帮我。
我收到以下错误。
libxml / tree.h没有这样的文件或目录
我已经添加libxml2.dylib
到我的项目中,但是遇到这种麻烦。请帮我。
Answers:
按照指示在这里,在“设置您的项目文件。”
设置项目文件
您需要将libxml2.dylib添加到您的项目中(不要将其放在Frameworks部分中)。在Mac上,您可以在
/usr/lib/libxml2.dylib
iPhone上找到它,而对于iPhone,则需要该/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.0.sdk/usr/lib/libxml2.dylib
版本。由于libxml2是.dylib(而不是友好的.framework),因此我们还有另外一件事要做。转到项目构建设置(“项目”->“编辑项目设置”->“构建”),然后找到“搜索路径”。在“标题搜索路径”中添加以下路径:
$(SDKROOT)/usr/include/libxml2
另请参阅OP的答案。
/usr/include
。我没有尝试安装libxml2,所以无法确认默认行为。但是,是的,以这种方式链接最好。
添加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
。
在后两种情况下,请确保在“调试” 和“发布”中输入了路径。
在Product
菜单下,选择Clean
。
然后,如果我是你(让我们面对现实,我可能是),我会退出Xcode并走开。当您返回并启动时,应该会很好。
opening import file 'Swift.swift': Not a directory
在Xcode 5中执行此操作之后。–
1)将“ libxml2.dylib”库添加到我的项目的TARGET中(构建阶段->使用库链接二进制文件)
2)将“ $(SDKROOT)/ usr / include / libxml2”添加到TARGET上的标题搜索路径(构建设置->标题搜索路径)
此后,目标应成功构建。
您还需要添加/usr/include/libxml2
到包含路径。
形成@Matt Ball的链接,
我发现以下对我有帮助。
您需要将libxml2.dylib添加到您的项目中(不要将其放在Frameworks部分中)。在Mac上,您可以在/usr/lib/libxml2.dylib
iPhone上找到它,而对于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中,单击“项目\编辑项目设置”,并确保选中“所有配置”。
找到“搜索路径\标题搜索路径”设置,然后将/ usr / include / libxml2添加到列表中。
最后,找到“链接\其他链接器标志”部分,并将-lxml2添加到列表中。
原始文章:使用gdataxml读写xml文档
从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徽标和File之间)下的“ Empty Caches ...”了作用(以前版本中的菜单在那吗?)。弄清楚了我的原因,但是经过一番清理之后,不再有关于libxml / tree.h的投诉了。
请按照以下步骤
可以在Mac机器上的/usr/lib/libxml2.dylib上找到libxml2 libxml2.dylib。
更改“标题搜索路径”
单击[项目名称](在左侧面板中)->项目->构建设置->全选(默认为基本)
在搜索框中键入标题搜索路径
双击标题搜索路径-> +- >“ $(SDKROOT)/ usr / include / libxml2”
将-lxml2添加到“其他链接
器标志”在步骤2中搜索“其他链接器标志”时,
单击“其他链接器标志”行。单击“ +”,然后将“ -lxml2”添加到列表中。
将项目类型更改为ARC->否,即自动引用计数为否您可以按照步骤2中的步骤搜索ARC
Xcode 4.5我已经完全使用了CW的解决方案。唯一的例外是$(SDKROOT)/ usr / include / libxml2对我不起作用,我必须在 项目标题搜索路径和用户标题搜索路径中添加“ $(SDK_DIR)” / usr / include / libxml2。之后,项目成功构建。
编辑:我在我的项目(称为MyProject)(我的项目使用)中有Google GData项目。GData需要libxml。为了成功构建项目MyProject,我将 “ $(SDK_DIR)” / usr / include / libxml2添加到MyProject的标题搜索路径中,将no添加到GData的标题搜索路径中。如果我没有将其添加到MyProject,则项目不会生成)。
Blockquote在Xcode 4.3.x中添加libxml2
添加libxml2是一个巨大的,肥胖的,挑剔的痛苦。如果要执行此操作,请在构建项目之前进行。
这是如何做。
目标设定
单击您的目标(而不是您的项目),然后选择“构建阶段”。单击标题为“ Link Binary With Libraries”的显示三角形。单击“ +”添加一个库。滚动到列表底部,然后选择“ libxml2.dylib”。这样就将libxml2库2添加到您的项目中……但是请稍候。
项目设定
现在,您必须告诉您的项目在哪里可以再查找三次。
选择“构建设置选项卡”。向下滚动到“链接”部分。在项目的列下,双击“其他链接器标志”行。单击“ +”,然后将“ -lxml2”添加到列表中。
还有更多。
在同一标签中,向下滚动到“搜索路径”部分。在“框架搜索路径”行的项目列下,添加“ /usr/lib/libxml2.dylib”。
在“标题搜索路径”和“用户标题搜索路径”行中,添加“ $(SDKROOT)/ usr / include / libxml2”。在后两种情况下,请确保在“调试和发布”中输入了路径。
然后。在“产品”菜单下,选择“清洁”。
这正在工作,也适用于Xcode5!谢谢!
@Aqib Mumtaz-我按照上面Parris的说明“在Xcode 4.3 / 5/6中添加libxml2”中的说明进行了工作。使用框架搜索路径的步骤不起作用,编译器抱怨。无论如何,对那个家伙大赞!
我正在使用Xcode 6.2b3
不管您使用的Xcode的版本如何,它都是错误的。不要总是假设编译错误是真实的。很多时候,它不遵循标题搜索路径,并且找不到明确列出的内容。更糟糕的是,所产生的错误倾向于将您指向不同的方向,因此您会浪费大量时间来分散注意力。照这样说...
完全按照以下步骤推荐宝宝的步骤:
笔记:
希望这可以帮助。
如果您碰巧正在为退伍军人开发某些东西,比如说iPhone / iPad或Mac应用程序,并且正在使用“ MDWS”或“ VIA”这两种东西,它们是基于SOAP的医疗记录系统接口...请与我联系
1)我将libxml文件添加到Build Phases.follow此链接
2)我添加了其他链接器标记为-ObjC
(针对项目和测试项目目标)
3)我将标题搜索路径设置为"${SDKROOT}/usr/include/libxml2"
(不要忘记在任何一侧都加双引号)(对于项目和测试项目目标)
其中之一将解决问题。如果不是,则必须同时应用以上三个条件。
我错了,我加错了,然后我意识到问题是它不支持弧,所以在这里检查一下支持,救生员-> http://www.michaelbabiy.com/arc-compatible-gdataxml-library/