《Linux操作系统-系统移植》第7章 工具移植 -第3节 Mini-xml移植

本文档详细介绍了如何将Mini-XML库进行交叉编译,以适配Exynos4412开发板上的Linux 3.0.5系统。首先在Ubuntu 12.04环境下,下载并配置Mini-XML源码,通过设置host和prefix参数确保编译适用于ARM平台。接着,修改Makefile以支持库的正确安装。完成编译后,Mini-XML提供了头文件mxml.h和多个库文件,包括静态库libmxml.a和动态链接库文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

开发环境:
主机环境:Ubuntu 12.04
目标机环境:Exynos4412开发板(Linux 3.0.5)
一个轻量级的xml库,可完成读写。适合系统资源受限的嵌入式设备。
源码下载:https://github.com/michaelrsweet/mxml

3.1交叉编译

第一步:下载源码,解压,进入mxml-2.12。
在这里插入图片描述
建立编译夹

$mkdir install

第二步:编译配置

$./configure --host=arm-none-linux-gnueabi ­­prefix=`pwd`/install CC=arm-none-linux-gnueabi-gcc CXX=arm-none-linux-gnueabi-g++

【注意】
­­host= arm-linux-gnueabihf表示该软件编译完成后在arm平台上运行
­­prefix后面为软件安装目录

第三步:修改生产了Makefile文件

OBJS       =   mmd.o mxmldoc.o testmxml.o zipc.o $(LIBOBJS)

修改为:

OBJS        =   mmd.o $(LIBOBJS)

在all: $(TARGETS) 行后增加如下内容:

$(AR) -r libmxml.a $(OBJS) 

在这里插入图片描述

$make
$make install

将install/lib中的库复制到目标板的库目录,一般为/usr/lib。

3.2 mini-xml使用

编译使用mini-xml库自带的testmxml.c

$arm-none-linux-gnueabi-gcc -I/home/farsight/tools/mxml/mxml-2.12/install/include -L/home/farsight/tools/mxml/mxml-2.12/install/lib -o testmxml testmxml.c -lmxml -lpthread

编译完生成以下几个重要的文件
mxml.h 头文件;
libmxml.a 静态链接库文件;
libmxml.so 动态链接库的链接文件,链接到libmxml.so.1.4;
libmxml.so.1 动态链接库的链接文件,链接到libmxml.so.1.4;
libmxml.so.1.4 动态链接库本体。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bruceoxl

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值