Linux libxml2源码编译教程

Linux libxml2源码编译教程

下载源码

  1. 进入libxml2官网,下载源码包
    在这里插入图片描述
  2. 解压源码
    unzip ./libxml2-master.zip
    在这里插入图片描述

编译源码

  1. 运行自动编译脚本
    sudo ./autogen.sh
    在这里插入图片描述
    在这里插入图片描述

    • 如果缺少软件依赖,会提示你需要安装的依赖,对照报错信息安装即可。
  2. 运行make指令编译源码
    sudo make
    在这里插入图片描述

  3. 安装libxml2相关库和头文件
    sudo make install
    在这里插入图片描述

    • 头文件默认安装在/usr/local/include/libxml2/
    • 库文件默认安装在/usr/local/lib/

配置环境

由于我们在源码中使用的是<libxml/*.h>,因此需要手动配置一下环境变量。如果不配置环境变量直接编译会出现如下错误:
在这里插入图片描述
提示我们找不到对应的文件。

  1. 分别查看LIBARAY_PATH,LD_LIBARAY_PATH,C_INCLUDE_PATH,三个环境是否被配置(为空)

    echo $LIBARAY_PATH
    echo $LD_LIBARAY_PATH
    echo $C_INCLUDE_PATH
    

    在这里插入图片描述

    • LIBARAY_PATH用于在程序编译期间查找动态链接库时指定查找共享库的路径
    • LD_LIBARAY_PATH环境变量用于在程序加载运行期间查找动态链接库时指定除了系统默认路径之外的其他路径
    • C_INCLUDE_PATHGCC编译时查找include时使用的路径,指定之后GCC在编译时会去此路径查找对应的include信息
    • 更多信息可以参考此文章
  2. 如果环境变量为空,则应直接赋值,若不为空,则应该在原有变量上继承:

    • 从截图中看到,我的三个环境变量均未被配置,因此我直接赋值修改/etc/profile文件:
      在这里插入图片描述
      如果此时使用继承原有变量再赋值的方式,此环境变量不会生效,具体原因参考此文章
    • 如果有变量被赋值,则需要使用继承方式修改/etc/profile文件:
      在这里插入图片描述

环境变量配置完成

编译例程

*/libxml2-master/example/xpath1.c为例,测试源码编译是否可行

  1. 键入gcc -Wall -g ./xpath1.c -o ./xpath1 -lxml2
    在这里插入图片描述
    可以看到编译成功。
    • 这个 -lxml2是指定链接库,如果不指定会报错
      在这里插入图片描述
  2. 测试是否正常运行
    在这里插入图片描述
    正常运行

至此Linux libxml2源码编译结束。下面可以进行本地开发验证。

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值