1. 程式人生 > >《Linux作業系統-系統移植》第7章 工具移植 -第3節 Mini-xml移植

《Linux作業系統-系統移植》第7章 工具移植 -第3節 Mini-xml移植

開發環境:
主機環境: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 動態連結庫本體。