在xcode4中为libxml2.a编译错误

时间:2011-06-16 02:51:28

标签: xcode4 libxml2

我只是将xcode3.2.5升级到xcode4.0。

但是当我重建我之前的项目时,错误发生在下面:

架构armv6的未定义符号:   “_iconv”,引自:       libxml2.a中的_xmlIconvWrapper(encoding.o)   “_iconv_close”,引自:       libxml2.a中的_xmlFindCharEncodingHandler(encoding.o)       libxml2.a中的_xmlCharEncCloseFunc(encoding.o)   “_iconv_open”,引自:       libxml2.a中的_xmlFindCharEncodingHandler(encoding.o) ld:找不到架构armv6的符号 collect2:ld返回1退出状态

任何人都有帮助...

3 个答案:

答案 0 :(得分:1)

不知道你是否还需要答案。好像你缺少与libiconv.dylib的链接。

答案 1 :(得分:0)

听起来像libxml2.a静态库可能没有为您的目标架构(armv6)构建。尝试重建那个,或者......

可以动态链接libxml2 (它包含在iOS中)。为此,请选择目标>构建阶段>链接二进制文件库>单击add并从下拉菜单中选择libxml2.dylib。

答案 2 :(得分:0)

您应将标题路径设置为

$(PROJECT_DIR)/Your libiconv Dir/**include**

(例如$(PROJECT_DIR)/libiconv-1.14/include)。

并设置库路径。

然后,检查" Link Binary With Libraries"。

如果您未将libiconv.a(或libiconv.dylib)设置为"将二进制文件链接到库"设置它。

您可以检查目标成员资格的另一种方法:项目文件夹树[请参阅,Xcode左侧] - >选择libiconv个库 - >检查目标成员资格(复选框)[见,Xcode右侧]。