2011-05-30 69 views
14

我目前在我的iPhone项目中遇到了libxml2的一些错误。在我的构建属性构建失败之后对此进行了修改。 (libxml2.dylib在构建阶段加)在编译期间未找到iPhone libxml2

#import <libxml/tree.h> 
#import <libxml/parser.h> 
#import <libxml/xmlstring.h> 
#import <libxml/xpath.h> 
#import <libxml/xpathInternals.h> 

我已经添加了以下项目生成设置:

Other Linker Flags: -lxml2 
Header Search Paths: /usr/include/libxml2 

我试图将它们添加到项目和目标(在同一时间,并在它们之间切换)没有任何区别。

我也尝试添加以下的头文件搜索路径:

${SDKROOT} 
${SDK_DIR} 

两个没有结果。

大厦失败的: iPhone设备 iPhone和iPad模拟器

人有一个想法?

我正在使用GData Objective-C客户端库:http://code.google.com/p/gdata-objectivec-client/ 我正在将源文件直接编译到我的项目中,并遵循wiki中给出的所有步骤。当再次手动导入libxml头文件时,XCode建议如下:

#import <libxml2/libxml/tree.h> 

哪一个也不起作用。

+0

好的,将项目文件恢复到旧状态,并解决了我的问题。我检查了与恢复之前相同的构建属性。我不确定发生了什么问题,但应用程序再次运行。 – Enadeag 2011-05-30 08:46:12

回答

12

${SDKROOT}/usr/include/libxml2添加为标题搜索路径而不是只有${SDKROOT}

请注意,您所有构建的目标都需要libxml获取额外的搜索路径。如果将路径添加到项目的构建设置中,则其所有目标都会继承它,并且应该没有问题。

+0

对不起,我感到困惑。只有我在/ usr/include/libxml2前面尝试了$ {SDKROOT}和$ {SDK_DIR}。但它现在已经修复:) – Enadeag 2011-05-31 12:00:15

+2

我可以通过在**目标>编译设置>头文件搜索路径中添加'“$(SDKROOT)/ usr/include/libxml2”(包括双引号)来修复错误** – Hemang 2013-01-22 05:57:20

+0

@ Enadeag:请你分享我们如何解决上述问题,因为我找不到任何解决方案 – sabir 2014-12-23 21:24:46

5
  • 在Build Phases中添加libxml2.dylib。
  • 添加TFHpple.m,TFHppleElement.m,XpathQuery.m来构建阶段(编译源)。
  • 在项目中添加
    Other Linker Flags: -lxml2 
    Header Search Paths: ${SDK_DIR}/usr/include/libxml2

- >构建阶段和目标 - >构建阶段。