现在的位置: 首页 > 综合 > 正文

madplayr在s3c2410+linux的移植

2013年08月05日 ⁄ 综合 ⁄ 共 2146字 ⁄ 字号 评论关闭

madplayrs3c2410+linux的移植

--Figo 2008.12.9

交叉编译器版本:arm-linux 3.4.1

硬件平台:s3c2410

软件平台:linux-2.6.27

 

1.编译zlib

下载源代码包:http://download.chinaunix.net/download/0013000/12241.shtml。解压进入源码包目录下输入以下命令:

./configure --prefix=/usr/local/arm/3.4.1/arm-linux
  
再修改(不能跟上面的步骤调转)makefile文件:
   CC=/usr/local/arm/3.4.1/bin/arm-linux-gcc
   AR=/usr/local/arm/3.4.1/bin/arm-linux-ar rcs
   RANLIB=/usr/local/arm/3.4.1/bin/arm-linux-ranlib
 make ,make install ,
编译好之后就可以在上面prefix指定的目录下的lib目录下找到libz.a这个库。

 

2. 编译libid3tag

下载源代码包:http://download.chinaunix.net/download/0006000/5881.shtml。解压进入源码包目录下输入以下命令:
  ./configure CC=/usr/local/arm/3.4.1/bin/arm-linux-gcc --prefix=/usr/local/arm/3.4.1/arm-linux  --host=arm-linux --disable-debugging --disable-shared --enable-static CPPFLAGS=-I/usr/local/arm/3.4.1/arm-linux/include LDFLAGS=-L/usr/local/arm/3.4.1/arm-linux/lib
  
其中,--disable-shared --enable-static是指定为静态编译。不过我发现这样并不能够进行编译。至于如何进行表态编译,我将在下面中进行介绍。
  make, make install

 

3. 编译libmad

下载源代码包:http://download.chinaunix.net/download/0006000/5910.shtml。解压进入源码包目录下输入以下命令:
  ./configure CC=/usr/local/arm/3.4.1/bin/arm-linux-gcc --prefix=/usr/local/arm/3.4.1/arm-linux  --host=arm-linux --disable-debugging --disable-shared --enable-static CPPFLAGS=-I/usr/local/arm/3.4.1/arm-linux/include LDFLAGS=-L/usr/local/arm/3.4.1/arm-linux/lib
然后,make ,make install

 

4. 编译madplay

下载源代码包:http://download.chinaunix.net/download/0007000/6440.shtml 。解压进入源码包目录下输入以下命令:

 ./configure CC=/usr/local/arm/3.4.1/bin/arm-linux-gcc --prefix=/usr/local/arm/3.4.1/arm-linux  --host=arm-linux --disable-debugging --disable-shared --enable-static CPPFLAGS=-I/usr/local/arm/3.4.1/arm-linux/include LDFLAGS=-L/usr/local/arm/3.4.1/arm-linux/lib
  
然后,make ,make install

但是编译后的结果是动态链接的,为了减少麻烦可以在这个基础上继续输入以下命令来实现静态链接:

/usr/local/arm/3.4.1/bin/arm-linux-gcc -Wall -O2 -fomit-frame-pointer -o madplay madplay.o getopt.o getopt1.o version.o resample.o filter.o tag.o crc.o rgain.o player.o audio.o audio_aiff.o audio_cdda.o audio_hex.o audio_null.o audio_raw.o audio_snd.o audio_wave.o audio_oss.o  -L/usr/local/arm/3.4.1/arm-linux/lib /usr/local/arm/3.4.1/arm-linux/lib/libmad.a /usr/local/arm/3.4.1/arm-linux/lib/libid3tag.a -lz -lm –static

 

(本文内容大多数来源于 linux-2.6.14madplayS3C2410上移植的全过程详解》一文,在此表示对该文作者的感谢)

抱歉!评论已关闭.