libxml2交叉编译
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交叉编译后生成文件的路径。
- 将/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;
}
- 交叉编译测试程序:
arm-linux-gcc test.c -o test -I /arm/libxml2/include/libxml2 -L /arm/libxml2/lib -lxml2
将编译生成的test文件拷贝到开发板,而后添加可执行权限:chmod +x test
测试:./test 生成了一个xml文件
libxml2交叉编译相关推荐
- libxml2交叉编译问题及解决办法
libxml2安装中出现的错误:cannot remove `libtoolT': No such file or directory解决方法: 修改configure文件 $ vim configu ...
- linux 交叉编译 libxml2,openssl,libssh2
版本: libxml2-2.9.1 openssl-1.0.1e libssh2-1.4.3 linux下的开源软件的编译比较统一,一般分为如下几步 ./configure;make;make ins ...
- android交叉编译libxml2,Openwrt 交叉编译libxml2(示例代码)
系统环境为Ubuntu 12.04.04,配置交叉编译环境使用以下命令即可,具体路径视自己环境而定: ./configure CC=/root/openwrt/staging_dir/toolchai ...
- 交叉编译libxml2
wget ftp://xmlsoft.org/libxml2/libxml2-2.7.2.tar.gz ./configure CC=aarch64-linux-gnu-gcc --host=arm- ...
- libxml2在Linux arm平台的交叉编译
libxml版本:libxml2-2.9.1 交叉编译器:arm-poky-linux-gnueabi-gcc 编译过程很简单,只是配置方法有一个需要注意的细节.我看了好几篇文章,配置方法各有不同,但 ...
- ubuntu 交叉编译 armv7_32 ffmpeg x264(已完成)
文章目录 1.交叉编译x264(x264要先编译,因为到时编译ffmpeg时要用到x264的头文件和库) 2.接着我们编译ffmpeg FFmpeg和X264的交叉编译环境 arm linux交叉编译 ...
- 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- ...
- asterisk libxml2
asterisk 在configure的时候,会去/usr/bin下检查有没有xml2-config这个可执行文件,还回去检查 编译的工具链中有没有libxml2.so这个库文件,即使是交叉编译,/u ...
- QT5+OpenGL es2 + eglfs交叉编译安装(RK3399)
最近由于项目的需要,需要在aarch64 Ubuntu16.04中安装QT5,系统自带了一个qt5,但项目要求必须是qt5.12的版本并且需要包含opengl和eglfs的库,所以只能重新对移植QT5 ...
- QT5+OpenGL es2 + eglfs交叉编译安装(续)
前言 之前写过一个<QT5+OpenGL es2 + eglfs交叉编译安装(RK3399)>的文章,最近由于项目需要又重新在RK的其它平台上移植了一个qt5.14,移植过程中又get到了 ...
最新文章
- 【MediaPipe】(1) AI视觉,手部关键点实时跟踪,附python完整代码
- 安装路径是什么意思_404 not found nginx是什么意思
- 【算法】一个简单的ISODATA原理
- windows 10 家庭版 无法打开 gpedit.msc 解决方法
- 在 node.js 的 express web 框架中自动注册路由
- javascript字符串的方法
- IOS的四种数据存储方式及优劣
- 博客链接—Python
- 【AAAI2021】自动跨主题作文属性评分
- inux安装vsftpd及配置详解
- solidity import @是什么意思
- 正确使用“下划线”一词
- 计算机中word音乐符号在哪里找,word音乐符号怎么打出来|word音乐符号怎么打
- ssm 权限管理系统+nice--v1.02.exe代码生成器
- 利用python openpyxl库实现对多个excel工作簿的快速汇总
- NOIP2016提高组 第一天第二题 天天爱跑步running 题解
- 测试工程师职业要求汇总(转)
- mybatis 的trim标签的使用,属性prefix,suffix,prefixOverrides,suffixOverrides
- 2014年多益网络春季校园招聘机试题
- 调试工具message_noconfirm与messa…
热门文章
- 爬虫笔记之实战(一):爬取猫眼电影排行
- 基于stm32单片机外文文献_13个基于STM32的经典项目设计实例,全套资料~-嵌入式系统-与非网...
- 不允许有匹配 “[xX][mM][lL]“ 的处理指令目标。
- [转]中国七大顶级黑客X档案
- 风力发电机液压偏航控制系统设计
- 联想i微型计算机怎么拆,联想t410i如何拆机?联想t410i拆机方法【图文】
- 暗黑2服务器映射,d2hackmap对应不同分辨率的存取坐标修改方法
- html日历修改,HTML精美日历插件
- 3D模型欣赏:反派角色部落女战士 【3D游戏建模教程】
- 谷歌电子市场开发流程(3)-关于加载界面的处理