2014年11月3日 星期一

MT7620 新增madplayer方法


要先下載madplayer的資料

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

網址:
http://sourceforge.net/projects/mad/files/

zlib-1.2.8.tar.gz
網址:
http://sourceforge.net/projects/libpng/files/zlib/1.2.8/zlib-1.2.8.tar.gz/download

http://sourceforge.net/projects/libpng/files/zlib/

我是用mips的,所以我找了一些mip相關網站,參考,修改成我要的東西
1.
 先指定路徑:
TOOLCHAINPATH=/opt/buildroot-gcc342/bin/

2.安裝zlib
tar zxf zlib-1.2.8.tar.gz

cd zlib-1.2.8

./configure --prefix=$TOOLCHAINPATH

make CC=mipsel-linux-gcc 2>&1 | tee build.log

make install

3.安裝libid3tag

tar zxf libid3tag-0.15.1b.tar.gz

cd libid3tag-0.15.1b

RANLIB=mipsel-linux-ranlib AR=mipsel-linux-ar CC=mipsel-linux-gcc ./configure --prefix=$TOOLCHAINPATH --enable-static --disable-shared --host=mipsel-linux

make 2>&1 | tee build.log

make install

4.安裝libmad
tar zxf libmad-0.15.1b.tar.gz

cd libmad-0.15.1b

RANLIB=mipsel-linux-ranlib AR=mipsel-linux-ar CC=mipsel-linux-gcc ./configure --prefix=$TOOLCHAINPATH --enable-static --disable-shared --host=mipsel-linux

make 2>&1 | tee build.log

make install

5.安裝madplay

tar zxf madplay-0.15.2b.tar.gz

cd madplay-0.15.2b

LIBS="-lm -lz" RANLIB=mipsel-linux-ranlib AR=mipsel-linux-ar CC=mipsel-linux-gcc ./configure --prefix=$TOOLCHAINPATH --enable-static --disable-shared --host=mipsel-linux

make 2>&1 | tee build.log


基本上這樣是沒錯的,但是我安裝到最後會出現問題,不知道為什麼,請待續...

下面是我compiler過的

方法一:
安裝zlib
tar zxf zlib-1.2.8.tar.gz
cd zlib-1.2.8
CC=mipsel-linux-gcc AR="mipsel-linux-ar rc" RANLIB=mipsel-linux-ranlib ./configure --prefix=/opt/buildroot-gcc342/bin/mipsel-linux

export CPPFLAGS='-I../libmad -I../libid3tag'
export LDFLAGS='-L../libmad -L../libid3tag'

安裝libid3tag
./configure --host=mipsel-linux
make
cp .libs/libid3tag.a .

安裝libmad
./configure --host=mipsel-linux
make
cp .libs/libmad.a .

安裝madplay
./configure --host=mipsel-linux
make

我compiler後,會出現這樣的問題
../libtool: line 1644: cd: ../libmad: No such file or directory
libtool: link: cannot determine absolute directory name of `../libmad'
make[2]: *** [libintl.la] Error 1

解決方法:直接指到絕對路徑
修改Makefile
#vi Makefile
CPPFLAGS='-I/root/Workspace/SDK4120_Original_DRAM_128MB/source/user/madplay/libmad/ -I/root/Workspace/SDK4120_Original_DRAM_128MB/source/user/madplay/libid3tag/'
LDFLAGS='-L/root/Workspace/SDK4120_Original_DRAM_128MB/source/user/madplay/libmad/ -L/root/Workspace/SDK4120_Original_DRAM_128MB/source/user/madplay/libid3tag/'

最後再下:
#./configure --host=mipsel-linux --disable-debugging --disable-shared --enable-static CPPFLAGS='-I/root/Workspace/SDK4120_Original_DRAM_128MB/source/user/madplay/libmad/ -I/root/Workspace/SDK4120_Original_DRAM_128MB/source/user/madplay/libid3tag/' LDFLAGS='-L/root/Workspace/SDK4120_Original_DRAM_128MB/source/user/madplay/libmad/  -L/root/Workspace/SDK4120_Original_DRAM_128MB/source/user/madplay/libid3tag/.libs'
就過了
之後換make
#make
又會出現error
mipsel-linux-gcc: /root/Workspace/SDK4120_Original_DRAM_128MB/source/user/madplay/libid3tag/.libs/.libs/libid3tag.so: No such file or directory
make[2]: *** [madplay] Error 1

再次修改Makefile
vi Makefile
找到下面那行
LDFLAGS='-L/root/Workspace/SDK4120_Original_DRAM_128MB/source/user/madplay/libmad/ -L/root/Workspace/SDK4120_Original_DRAM_128MB/source/user/madplay/libid3tag/.libs'
變成
LDFLAGS='-L/root/Workspace/SDK4120_Original_DRAM_128MB/source/user/madplay/libmad/ -L/root/Workspace/SDK4120_Original_DRAM_128MB/source/user/madplay/libid3tag/
之後再make一次
#make
就過了

# file madplay

madplay: ELF 32-bit LSB executable, MIPS, MIPS-II version 1 (SYSV), dynamically linked (uses shared libs), not stripped

就會看到是用MIPS











沒有留言:

張貼留言