/usr/local/lib/libneon.a(ne_xml.o)(.text+0x53e): In function `ne_xml_create':
/root/neon-0.25.5/src/ne_xml.c:438: undefined reference to `XML_ParserCreate'
/usr/local/lib/libneon.a(ne_xml.o)(.text+0x559):/root/neon-0.25.5/src/ne_xml.c:442: undefined reference to `XML_SetElementHandler'
/usr/local/lib/libneon.a(ne_xml.o)(.text+0x568):/root/neon-0.25.5/src/ne_xml.c:443: undefined reference to `XML_SetCharacterDataHandler'
/usr/local/lib/libneon.a(ne_xml.o)(.text+0x573):/root/neon-0.25.5/src/ne_xml.c:444: undefined reference to `XML_SetUserData'
/usr/local/lib/libneon.a(ne_xml.o)(.text+0x582):/root/neon-0.25.5/src/ne_xml.c:445: undefined reference to `XML_SetXmlDeclHandler'
/usr/local/lib/libneon.a(ne_xml.o)(.text+0x626): In function `ne_xml_parse':
/root/neon-0.25.5/src/ne_xml.c:530: undefined reference to `XML_Parse'
/usr/local/lib/libneon.a(ne_xml.o)(.text+0x697):/root/neon-0.25.5/src/ne_xml.c:533: undefined reference to `XML_GetErrorCode'
/usr/local/lib/libneon.a(ne_xml.o)(.text+0x69f):/root/neon-0.25.5/src/ne_xml.c:533: undefined reference to `XML_ErrorString'
/usr/local/lib/libneon.a(ne_xml.o)(.text+0x6ad):/root/neon-0.25.5/src/ne_xml.c:533: undefined reference to `XML_GetCurrentLineNumber'
/usr/local/lib/libneon.a(ne_xml.o)(.text+0x751): In function `ne_xml_destroy':
/root/neon-0.25.5/src/ne_xml.c:582: undefined reference to `XML_ParserFree'
/usr/local/lib/libneon.a(ne_xml.o)(.text+0x32): In function `ne_xml_currentline':
/root/neon-0.25.5/src/ne_xml.c:196: undefined reference to `XML_GetCurrentLineNumber'
collect2: ld returned 1 exit status
编译一个文件,出现如上问题。
原因是,libneon.a这个静态库,用到了某些函数如ne_xml_create,但是,在编译时却找不到这些函数的定义。
解决办法:
libneon.a需要用expat,或者libxml来解析。所以,只要在系统中,安装expat(如expat-2.0.0.tar.gz)或者libxml就可以了。
此外,在编译时,还要链接上相应的库,若使用expat,则加上 -lexpat