madplayer移植

這兩天做madplayer移植,由於是剛裝的ubuntu14.04,所以有好多庫沒裝,還有其它未配置起來的地方,搞起來有幾個問題,不過組後按着教程一步一步都解決了。

首先需要準備的安裝包如下:

madplay-0.15.2b.tar.gz

libmad-0.15.1b.tar.gz
libid3tag-0.15.1b.tar.gz 

zlib-1.1.4.tar.gz

前三個包地址:http://sourceforge.net/project/showfiles.php?group_id=12349

第四個包zlib地址:http://www.gzip.org/zlib/zlib-1.1.4.tar.gz中找到。

我的所有庫和頭文件都安裝在目錄:/work/drivers_and_test/21th_sound/app/tmp裏面,用到的4個包都解壓在/work/drivers_and_test/21th_sound/app/目錄下,可以自己根據自己需要建立自己的安裝目錄。

1.安裝zlib

tar xvzf zlib-1.2.5.tar.gz 
cd zlib-1.2.3.tar.gz

./configure --host=arm-linux --prefix=/work/drivers_and_test/21th_sound/app/tmp,生成Makefile文件,

再修改makefile文件,添加自己系統中gcc所在的目錄,有的不需要修改:
CC=/work/tools/gcc-3.4.5-glibc-2.3.6/bin/arm-linux-gcc
AR=/work/tools/gcc-3.4.5-glibc-2.3.6/bin/arm-linux-ar rcs
RANLIB=/work/tools/gcc-3.4.5-glibc-2.3.6/bin/arm-linux-ranlib

注:如果之前編譯過,則先要把上次編譯的結果清除:make distclean

接着 make
然後make install
編譯好之後就可以在上面prefix指定的目錄/work/drivers_and_test/21th_sound/app/tmp下的lib目錄下找到libz.a這個庫。

2.編譯libid3tag

在libid3tag目錄下執行以下操作就可以安裝libid3tag庫

./configure --host=arm-linux --prefix=/work/drivers_and_test/21th_sound/app/tmp CPPFLAGS=-I/work/drivers_and_test/21th_sound/app/tmp/include LDFLAGS=-L/work/drivers_and_test/21th_sound/app/tmp/lib
make 
make install

解釋:CC後 的參數爲交叉編譯器的絕對路徑,--prefix後指定的是安裝目錄,CPPFLAGS、LDFLAGS
後的-I、-L爲固定形式,之後的路徑爲安裝libid3tag的路徑下的子目錄。我一開始沒有加CPPFLAGS、LDFLAGS,

有錯誤提示:

configure: error: zlib.h was not found
*** You must first install zlib (libz) before you can build this package.
*** If zlib is already installed, you may need to use the CPPFLAGS
*** environment variable to specify its installed location, e.g. -I<dir>.

可能是沒有在tmp目錄下生成所需的庫,加上-I、-L後就沒這問題了。

3.編譯libmad

libmad目錄下執行以下操作就可以安裝libid3tag庫

./configure --host=arm-linux --prefix=/work/drivers_and_test/21th_sound/app/tmp CPPFLAGS=-I/work/drivers_and_test/21th_sound/app/tmp/include LDFLAGS=-L/work/drivers_and_test/21th_sound/app/tmp/lib
make 
make install

如果有提示:"-fforce-mem"參數不能識別,打開當前目錄下的Makefile文件,去掉裏面出現的"-fforce-mem",然後再makemake installOK了。

4.編譯madplay
./configure --host=arm-linux --prefix=/work/drivers_and_test/21th_sound/app/tmp CPPFLAGS=-
I/work/drivers_and_test/21th_sound/app/tmp/include LDFLAGS=-L/work/drivers_and_test/21th_sound/app/tmp/lib

然後,make
這樣就生成了madplay可執行文件,下載到板子上去就可以使用了。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章