关于用XCode 4 配置使用 libxml2

本文探讨了在iOS项目中使用libxml2替代NSXMLParser进行XML解析的过程及遇到的问题。详细介绍了如何正确配置libxml2,并解决了在实际项目中出现的编译错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 项目中使用了NSXMLParser进行XML解析,发现性能很差,需要进行优化。就打算使用iOS SDK自带的另一个XML解析库 libxml2。根据苹果官方提供的XMLPerformance例程,libxml2解析速要比NSXMLParser快很多。结果按照例程的指引,引入libxml2动态库后,首先是出现liibxml/tree.h头文件找不到的错误。经过一番网上搜索和比对例程,终于发现添加的header file search path是要在target 中,而不是在project中。截图如下:

header Search Path Setting for Target

      在此设置后,测试项目就可以正常编译运行,结果截图如下:

      libxml2解析输出

 

      但是在正式项目中如此设置,头文件可以找到,但是编译始终无法通过,libxml2相关的头文件中出现很多语法错误,始终无法解决。网上搜索也没有找到答案。只是发现有一个很奇怪的现象,libxml2.dylib从target->Build Phases 中的 Link Binary with Libraries中添加时,在Project文件夹中显示为libxml2,如下图:

libxml2.dylib

      而当从Project目录中,Add Files,浏览到SDK所在目录添时,无论是选择libxml2.dylib,libxml2.2.dylib或libxml2.3.7.dylib,在Project文件夹中都显示为libxml2.2.dylib,文件信息则全部相同,而且和上面显示libxml2一样正常编译运行。如下图:

libxml2.2.dylib

      网上也有人遇到同样的问题,同样没有答案。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值