- 论坛徽章:
- 0
|
undefined reference to 'xmlSaveFormatFile'
我在编译的时候出先上面的问题,请问怎么解决,还有几处警告 xmlNewTextChild
我的程序代码为:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <libxml/xmlmemory.h>
#include <libxml/parser.h>
#include <libxml/tree.h> //xmlSaveFormatFile();
void parseFile(xmlDocPtr doc,xmlNodePtr cur,char *key)
{
xmlNewTextChild(doc,NULL,"filename",key);
return;
}
xmlDocPtr parseDoc(char *docname,char *keyword)
{
xmlDocPtr doc;
xmlNodePtr cur;
doc=xmlParseFile(docname);
if(doc==NULL)
{
fprintf(stderr,"Document not parse successful!\n");
return (NULL);
}
cur=xmlDocGetRootElement(doc);
if(cur==NULL)
{
fprintf(stderr,"Empty Document\n");
xmlFreeDoc(doc);
ruturn (NULL);
}
if(xmlStrcmp(cur->name,(xmlChar *)"fileinfo")
{
fprintf(stderr,"Document Root!=fileinfo\n");
xmlFreeDoc(doc);
return (NULL);
}
cur=cur->xmlChildrenNode;
while(cur!=NULL)
{
if(!xmlStrcmp(cur->name,(xmlChar *)"filename")
{
parseFile(doc,cur,keyword);
}
cur=cur->next;
}
return doc;
}
int main(int argc,char *argv[])
{
char *filename="root/TotalTime.xml";
char key[20];
xmlDocPtr doc;
printf("Please input filename:\n");
scanf("%s,",key);
doc=parseDoc(filename,key);
if(doc!=NULL)
{
xmlSaveFormatFile(filename,doc,0);
xmlFreeDoc(doc);
}
return (1);
}
count.c: 在函数 ‘parseFile’ 中:
count.c:8: 警告:passing argument 1 of ‘xmlNewTextChild’ from incompatible pointer type
count.c:8: 警告:传递参数 3 (属于 ‘xmlNewTextChild’) 给指针时目标与指针有/无符号不一致
count.c:8: 警告:传递参数 4 (属于 ‘xmlNewTextChild’) 给指针时目标与指针有/无符号不一致
/tmp/cck82zbd.o(.text+0x1b5): In function `main':
count.c: undefined reference to `xmlSaveFormatFile'
collect2: ld 返回 1 |
|