madplay 音樂播放器移植步驟
madplay版本:
madplay-0.15.2
交叉編譯器版本:
arm-linux-gcc 3.4.1
作業系統平台:
linux -- red hat 9.0
開發闆平台:
arm -- fl2440
準備源碼包:
下面給出了兩個網站,分别是madplay和zlib庫的源碼網址
madplay:http://sourceforge.net/projects/mad/files/
zlib庫 :http://www.zlib.net/
madplay-0.15.2b.tar.gz libmad-0.15.1b.tar.gz,libid3tag-0.15.1b.tar.gz zlib-1.1.4.tar.gz
建立兩個檔案夾,一個存放源碼,一個存放安裝檔案
在home下,mkdir兩個檔案夾:madplay-src madplay
依次解壓四個源碼包到madplay-src目錄下: tar xzvf xxxxxxxxx
1. 編譯zlib-1.1.4
首先配置configure 檔案
#./configure --prefix=/home/madplay
修改makefile
cc=arm-linux-gcc
ar=arm-linux-ar rc
ranlib=arm-linux-ranlib
#make
#make install
2. 編譯libid3tag
#./configure cc=arm-linux-gcc --host=arm-linux --prefix=/home/madplay
cppflags=-i/home/madplay/include ldflags=-l/home/madplay/lib
2
3. 編譯libmad
4. 編譯madplay
到這就結束了,可以不用make install
在madplay-0.15.2b目錄下生成madplay的可執行檔案,檢視一下需要的動态庫
#arm-linux-readelf -d madplay
輸出運作時所需的動态庫:libmad.so.0, libid3tag.so.0, libm.so.6,libc.so.6
将後兩個檔案從lib拷貝到根檔案系統的/usr/lib目錄下(先檢視,如果已經有了則不需要),
前兩個檔案是在/madplay/lib/下生成的,把這兩個檔案也拷貝到/usr/lib下。
将madplay複制到根檔案系統/usr/bin目錄下,将一個mp3檔案也放在某一目錄下,在開發闆上執行madplay程式
#madplay xxx.mp3
mpeg audio decoder 0.15.2 (beta) - copyright (c) 2000-2004 robert leslie et al.
s3c2410-uda1341-superlp: audio_set_dsp_speed:44100 prescaler:66
title: xx
artist: xxx
album: xxxx
track: xx
3
comment: xxxxxxxxx
如果出現這個資訊,應該就沒有問題了,可以聽歌了。
madplay還有一些快捷鍵,比如:增大/減小音量(+/-),暫停(b),停止(esc),其他的操作可以檢視madplay的源碼。
5. 靜态編譯
以上是用動态編譯的方法,程式運作時需依賴動态庫檔案。也可以采用靜态編譯的方法,将靜态庫編譯到程式中,運作時不需要動态庫檔案
在配置libid3tag,libmad,madplay時,加上參數“--disable-shared --enable-static”即可靜态編譯madplay
編譯完成後隻需将madplay複制到根檔案系統/usr/bin目錄下,不需要複制動态庫。