Ubuntu中安装使用libxml2

最近需要用c++实现解析xml文件的功能,经过对若干方法的考察,决定使用libxml库

安装libxml:
apt-get install libxml2-dev
安装完毕之后会在/usr/lib/libxml/libxml2/目录下找到一系列的头文件,包括等一下要用到的parser.h和tree.h
同时,可以locate一下libxml2.so,发现被安装在标准目录/usr/lib/中

安装完毕之后,就可以开始编写解析xml的c++代码了
包含头文件时,我一开始直接使用绝对路径
#include<libxml/libxml2/parser.h>
#include<libxml/libxml2/tree.h>

编译:g++ -o creatxmlfile creatxmlfile.cpp  -lxml2
报错:/usr/include/libxml2/libxml/parser.h:15:31:fatal error: libxml/xmlversion.h:No such file or directory
说明光在自己的代码中加入头文件parser.h的路径是不行的,因为头文件parser.h中还嵌套包含了其他的头文件,而嵌套包含时使用的是到/libxml为止相对路径(及标准路径)

解决:使用到/libxml为止的标准路径,再在编译时加入-I参数来指定具体的路径
因此,包含头文件的方式改成
#include<libxml/parser.h>
#include<libxml/tree.h>
另外,由于库文件libxml2.so放在路径/usr/lib中,这个路径已存在于环境变量中,因此在编译时无需使用编译器的-L参数来指定库文件的具体位置,只需使用-l参数来指定库文件的具体名称:
g++ -o creatxmlfile creatxmlfile.cpp -I /usr/include/libxml2/  -lxml2

至此,已可以使用libxml2来编写用于解析xml的c++文件了

转自 http://trollybupt.blog.163.com/blog/static/2091672032013431101824926/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值