开发环境:
主机环境: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 动态链接库本体。