0

我在编译我的项目时在某些机器上遇到了这个错误:

Undefined symbols for architecture armv6:
"_xmlFree", referenced from:
-[MGTwitterLibXMLParser initWithXML:delegate:connectionIdentifier:requestType:responseType:URL:]     in MGTwitterLibXMLParser.o
-[MGTwitterLibXMLParser _nodeValueAsString] in MGTwitterLibXMLParser.o
-[MGTwitterLibXMLParser _nodeValueAsDate] in MGTwitterLibXMLParser.o
-[MGTwitterLibXMLParser _nodeValueAsInt] in MGTwitterLibXMLParser.o
-[MGTwitterLibXMLParser _nodeValueAsBool] in MGTwitterLibXMLParser.o

它在模拟器模式下编译得很好,但不是设备(ios 4.3)

如何摆脱这个?

4

3 回答 3

3

将 libxml2 框架添加到您的目标。

在 Xcode 3 中,您可以通过右键单击侧边栏中的 Frameworks 并选择“Add Existing Framework”来做到这一点。我不知道您在 Xcode 4 中是如何做到的,抱歉。

来自 MGTwitterEngine 自述文件:

  1. 在其他框架中添加 libxml2.dylib。您将在以下位置找到该库:

    /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.0.sdk/usr/lib/libxml2.dylib

  2. 在项目设置中添加“$SDKROOT/usr/include/libxml2”作为标题搜索路径。

于 2011-05-25T10:49:31.613 回答
1

将 lib 替换为libxml2.dylibbylibxml2.2.dylib

问题解决了。

于 2011-05-26T20:32:26.690 回答
1

几天前我遇到了同样的问题,我按照以下步骤操作:

  • 您只需要添加 libxml2.dylib 框架。
  • 并在标题搜索路径中添加/usr/include/libxml2 。

它对我有用。

于 2013-02-05T10:33:41.907 回答