ubuntu下編譯和使用libxml2
下面是在網上找的一段測試linxml2庫是否裝上的程式碼。
#include <stdio.h>
#include <libxml/parser.h>
#include <libxml/tree.h>
int main(int argc, char **argv)
{
xmlDocPtr doc = NULL;
xmlNodePtr root_node = NULL, node = NULL, node1 = NULL;
doc = xmlNewDoc(BAD_CAST "1.0");
root_node = xmlNewNode(NULL, BAD_CAST "root");
xmlDocSetRootElement(doc, root_node);
xmlNewChild(root_node, NULL, BAD_CAST "node1",BAD_CAST "content of node1");
node=xmlNewChild(root_node, NULL, BAD_CAST "node3",BAD_CAST"node has attributes");
xmlNewProp(node, BAD_CAST "attribute", BAD_CAST "yes");
node = xmlNewNode(NULL, BAD_CAST "node4");
node1 = xmlNewText(BAD_CAST"other way to create content");
xmlAddChild(node, node1);
xmlAddChild(root_node, node);
xmlSaveFormatFileEnc(argc > 1 ? argv[1] : "-", doc, "UTF-8", 1);
xmlFreeDoc(doc);
xmlCleanupParser();
xmlMemoryDump();
return(0);
}
用下面的命令編譯通過。
g++ xmlCreator.cpp -o xmlCreator -I /usr/include/libxml2/ -L /usr/lib -lxml2
後來我把這段程式碼移到Eclipse下編譯。為工程新增連結庫:右鍵單擊工程-》properities->c/c++ build->setting
1.gcc c linker->libraries->Libraries(-l) 新增”xml2".
2.gcc assembler->general->include path(-I) 新增“/usr/include/libxml2/ “