移植前需求準備:
a. 源碼包:
1. libid3tag-0.15.1b.tar.gz
2. libmad-0.15.1b.tar.gz
3. madplay-0.15.2b.tar.gz
4. zlib-1.2.3.tar.gz(前三個源碼包都依賴於這個包)
b.交叉編譯工具鏈:
1. arm-linux-gcc-4.3.2
移植過程:
1. 將以上四個源碼包拷貝到一個文件夾下(讀者拷貝到madplay目錄下)
,然後分別解壓(tar -xzvf xxxxxx.tar.gz)。
2. 進入源碼包zlib-1.2.3.tar.gz解壓後的目錄下:
a.
./configure --prefix=/root/madplay/zlib
b.
設置全局變量:
export AR=arm-linux-ar
export CC=arm-linux-gcc
export RANLIB=arm-linux-ranlib
c.
make
d.
make install
3. 進入源碼包libid3tag-0.15.1b.tar.gz解壓後的目錄下:
a.
./configure --prefix=/root/madplay/libid3tag
--host=arm-linux-gcc
CC=arm-linux
CPPFLAGS=-I/root/madplay/zlib/include
LDFLAGS=-L/root/madplay/zlib/lib
b.
make(編譯)
c.
make install (安裝)
4. 進入源碼包libmad-0.15.1b.tar.gz解壓後的目錄下:
a.
./configure --prefix=/root/madplay/libmad
--host=arm-linux-gcc
CC=arm-linux
CPPFLAGS=-I/root/madplay/zlib/include
LDFLAGS=-L/root/madplay/zlib/lib
b.
make
(注意: 如果出現-fforce-mem問題,請編輯目錄下的Makefile文件,將-fforce-mem 字段刪除.)
c.
make install
5. 進入源碼包madplay-0.15.2b.tar.gz解壓後的目錄下:
madplay的編譯依賴於libid3tag-0.15.1b.tar.gz,
libmad-0.15.1b.tar.gz
所以使用命令:
cp /root/madplay/libid3tag/include/* /root/madplay/zlib/include/
cp /root/madplay/libid3tag/lib/* /root/madplay/zlib/lib/
cp /root/madplay/libmad/include/* /root/madplay/zlib/include/
cp /root/madplay/libmad/lib/* /root/madplay/zlib/lib/
a.
./configure --host=arm-linux-gcc
CC=arm-linux
CPPFLAGS=-I/root/madplay/zlib/include
LDFLAGS=-L/root/madplay/zlib/lib
b.
make
(注意: 無需make install)此時madplay可執行文件在當前目錄下
6. 使用命令arm-linux-readelf -d madplay查看可執行文件madplay所依賴的動態庫。
libid3tag.so.0 libmad.so.0 libc.so.6 libm.so.6
前兩個我們剛剛編譯好了,後兩個開發板的lib目錄下一般都有。
將libid3tag.so.0 libmad.so.0 madplay 拷貝到開發板的lib目錄下
將一首MP3拷貝到lib目錄下使用 madplay 1.mp3插上耳機聆聽吧!
madplay移植
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.