《Linux作業系統-系統移植》第7章 工具移植 -第3節 Mini-xml移植
阿新 • • 發佈:2019-01-23
開發環境:
主機環境: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 動態連結庫本體。