XCode 4 使用 libxml2

      项目中使用了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

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

 

你可能感兴趣的:(移动开发,xcode,header,xml,search,path,优化)