libxml2交叉编译

1.下载libxml2源码包

​ https://gitlab.gnome.org/GNOME/libxml2/-/releases

2.编译libxml2

tar zxvf libxml2-v2.9.13.tar.gz          //解压
cd libxml2-v2.9.13                      //进入目录
./autogen.sh                            //生成configure
./configure CROSS_COMPILE=arm-linux CC=arm-linux-gcc --host=arm-linux --prefix=/home/pnc120432be01/Desktop/liyuworkspace/arm/libxml2 --with-python=/home/pnc120432be01/Desktop/liyuworkspace/libxml2-v2.9.13/python --with-zlib=/home/pnc120432be01/Desktop/wcf/arm/curl/output       //配置
make
make install

注意:必定要 --with-python --with-zlib,不然make会出错!

  • –with-python:是Python交叉编译后生成文件的路径,但是下载的libxml2源码中已经绑定了python的源码,直接指向该路径即可

  • –with-zlib:是zlib交叉编译后生成文件的路径,编译需要zlib库,详情见《libcurl的交叉编译和移植.docx》第二节。

  • 如果不需要这两个库也可以编译 直接使用–without-python和–without-zlib

  • –prefix: 是libxml2交叉编译后生成文件的路径。

  1. 将/arm/libxml2目录中的文件拷贝到arm机中,将/arm/libxml2/lib目下的.so文件拷贝到开发板根目录下的lib子目录下,而后编写测试程序以下:
#include <stdio.h>
#include <libxml/parser.h>
#include <libxml/tree.h>
int main()
{xmlDocPtr doc = xmlNewDoc(BAD_CAST "1.0");  //定义文档和节点指针xmlNodePtr root_node = xmlNewNode(NULL,BAD_CAST "root");xmlDocSetRootElement(doc,root_node);        //设置根节点//在根节点中直接建立节点xmlNewTextChild(root_node, NULL, BAD_CAST "newNode1", BAD_CAST "newNode1 content");xmlNewTextChild(root_node, NULL, BAD_CAST "newNode2", BAD_CAST "newNode2 content");xmlNewTextChild(root_node, NULL, BAD_CAST "newNode3", BAD_CAST "newNode3 content");//建立一个节点,设置其内容和属性,而后加入根结点xmlNodePtr node    = xmlNewNode(NULL,BAD_CAST "node2");xmlNodePtr content = xmlNewText(BAD_CAST "NODE CONTENT");xmlAddChild(root_node,node);xmlAddChild(node,content);xmlNewProp(node,BAD_CAST "attribute",BAD_CAST "yes");//建立一个儿子和孙子节点node = xmlNewNode(NULL, BAD_CAST "son");xmlAddChild(root_node,node);xmlNodePtr grandson = xmlNewNode(NULL, BAD_CAST "grandson");xmlAddChild(node,grandson);xmlAddChild(grandson, xmlNewText(BAD_CAST "This is a grandson node"));//存储xml文档int nRel = xmlSaveFile("CreateXml.xml",doc);if (nRel != -1) {printf("一个xml文档被建立,写入%d个字节\n", nRel);}//释放文档内节点动态申请的内存xmlFreeDoc(doc);return 1;
}
  1. 交叉编译测试程序:
arm-linux-gcc test.c -o test -I /arm/libxml2/include/libxml2 -L /arm/libxml2/lib -lxml2
  1. 将编译生成的test文件拷贝到开发板,而后添加可执行权限:chmod +x test

  2. 测试:./test 生成了一个xml文件

libxml2交叉编译相关推荐

  1. libxml2交叉编译问题及解决办法

    libxml2安装中出现的错误:cannot remove `libtoolT': No such file or directory解决方法: 修改configure文件 $ vim configu ...

  2. linux 交叉编译 libxml2,openssl,libssh2

    版本: libxml2-2.9.1 openssl-1.0.1e libssh2-1.4.3 linux下的开源软件的编译比较统一,一般分为如下几步 ./configure;make;make ins ...

  3. android交叉编译libxml2,Openwrt 交叉编译libxml2(示例代码)

    系统环境为Ubuntu 12.04.04,配置交叉编译环境使用以下命令即可,具体路径视自己环境而定: ./configure CC=/root/openwrt/staging_dir/toolchai ...

  4. 交叉编译libxml2

    wget ftp://xmlsoft.org/libxml2/libxml2-2.7.2.tar.gz ./configure CC=aarch64-linux-gnu-gcc --host=arm- ...

  5. libxml2在Linux arm平台的交叉编译

    libxml版本:libxml2-2.9.1 交叉编译器:arm-poky-linux-gnueabi-gcc 编译过程很简单,只是配置方法有一个需要注意的细节.我看了好几篇文章,配置方法各有不同,但 ...

  6. ubuntu 交叉编译 armv7_32 ffmpeg x264(已完成)

    文章目录 1.交叉编译x264(x264要先编译,因为到时编译ffmpeg时要用到x264的头文件和库) 2.接着我们编译ffmpeg FFmpeg和X264的交叉编译环境 arm linux交叉编译 ...

  7. apache arm 交叉编译_arm apache php交叉编译

    设置交叉编译路径 CC=/usr/local/arm_linux_4.3/usr/bin/arm-linux-gcc CXX=/usr/local/arm_linux_4.3/usr/bin/arm- ...

  8. asterisk libxml2

    asterisk 在configure的时候,会去/usr/bin下检查有没有xml2-config这个可执行文件,还回去检查 编译的工具链中有没有libxml2.so这个库文件,即使是交叉编译,/u ...

  9. QT5+OpenGL es2 + eglfs交叉编译安装(RK3399)

    最近由于项目的需要,需要在aarch64 Ubuntu16.04中安装QT5,系统自带了一个qt5,但项目要求必须是qt5.12的版本并且需要包含opengl和eglfs的库,所以只能重新对移植QT5 ...

  10. QT5+OpenGL es2 + eglfs交叉编译安装(续)

    前言 之前写过一个<QT5+OpenGL es2 + eglfs交叉编译安装(RK3399)>的文章,最近由于项目需要又重新在RK的其它平台上移植了一个qt5.14,移植过程中又get到了 ...

最新文章

  1. 【MediaPipe】(1) AI视觉,手部关键点实时跟踪,附python完整代码
  2. 安装路径是什么意思_404 not found nginx是什么意思
  3. 【算法】一个简单的ISODATA原理
  4. windows 10 家庭版 无法打开 gpedit.msc 解决方法
  5. 在 node.js 的 express web 框架中自动注册路由
  6. javascript字符串的方法
  7. IOS的四种数据存储方式及优劣
  8. 博客链接—Python
  9. 【AAAI2021】自动跨主题作文属性评分
  10. inux安装vsftpd及配置详解
  11. solidity import @是什么意思
  12. 正确使用“下划线”一词
  13. 计算机中word音乐符号在哪里找,word音乐符号怎么打出来|word音乐符号怎么打
  14. ssm 权限管理系统+nice--v1.02.exe代码生成器
  15. 利用python openpyxl库实现对多个excel工作簿的快速汇总
  16. NOIP2016提高组 第一天第二题 天天爱跑步running 题解
  17. 测试工程师职业要求汇总(转)
  18. mybatis 的trim标签的使用,属性prefix,suffix,prefixOverrides,suffixOverrides
  19. 2014年多益网络春季校园招聘机试题
  20. 调试工具message_noconfirm与messa…

热门文章

  1. 爬虫笔记之实战(一):爬取猫眼电影排行
  2. 基于stm32单片机外文文献_13个基于STM32的经典项目设计实例,全套资料~-嵌入式系统-与非网...
  3. 不允许有匹配 “[xX][mM][lL]“ 的处理指令目标。
  4. [转]中国七大顶级黑客X档案
  5. 风力发电机液压偏航控制系统设计
  6. 联想i微型计算机怎么拆,联想t410i如何拆机?联想t410i拆机方法【图文】
  7. 暗黑2服务器映射,d2hackmap对应不同分辨率的存取坐标修改方法
  8. html日历修改,HTML精美日历插件
  9. 3D模型欣赏:反派角色部落女战士 【3D游戏建模教程】
  10. 谷歌电子市场开发流程(3)-关于加载界面的处理