原创 Madplay移植到fedora7下运行

2010-3-31 16:10 1720 2 2 分类: MCU/ 嵌入式

1,移植madplay前的一些准备工作:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


首先,从网站上下载以下的4个包:


madplay-0.15.2b.tar.gz libmad-0.15.1b.tar.gzlibid3tag-0.15.1b.tar.gz zlib-1.1.4.tar.gz


其中前面的三个包可以在


http://sourceforge.net/project/showfiles.php?group_id=12349下载


后一个包可以在http://www.gzip.org/zlib/zlib-1.1.4.tar.gz中找到


 为了编译这个播放器,编译器,我用的是gcc


我在虚拟机boot/下新建了一个source文件夹用于放置在编译过程中出现的库文件


 


2,将下载好的包拷贝到根目录下


先编译zlib库:


[root@localhost /]# tar -zxvf zlib-1.1.4.tar.gz


[root@localhost /]# cd /zlib-1.1.4


[root@localhost zlib-1.1.4]# ./configure--prefix=/boot/source


[root@localhost zlib-1.1.4]# make


[root@localhost zlib-1.1.4]# make install


编译完成了之后,在如下的目录查看是否有libz.a文件,有的话,就成功了。


[root@localhost /]# cd boot/source/lib


 


3. 编译libid3tag


[root@localhost /]# tar -zxvf libid3tag-0.15.1b.tar.gz


[root@localhost /]# cd libid3tag-0.15.1b


[root@localhost libid3tag-0.15.1b]# ./configure CC="gcc" --prefix=/boot/source/ --disable-debugging --disable-shared --enable-static CPPFLAGS="-I/boot/source/include" LDFLAGS="-L/boot/source/lib/"


[root@localhost libid3tag-0.15.1b]# make


[root@localhost libid3tag-0.15.1b]# make install


 


4. 编译libmad


[root@localhost /]# tar -zxvf libmad-0.15.1b.tar.gz


[root@localhost /]# cd libmad-0.15.1b


 


[root@localhost libmad-0.15.1b]# ./configure CC="gcc" --prefix=/boot/source/ --disable-debugging --disable-shared --enable-static CPPFLAGS="-I/boot/source/include" LDFLAGS="-L/boot/source/lib/"


[root@localhost libmad-0.15.1b]# make


[root@localhost libmad-0.15.1b]# make install


5. 编译madplay


[root@localhost /]# tar -zxvf madplay-0.15.2b.tar.gz


[root@localhost /]# cd madplay-0.15.2b


madplay-0.15.2b下的audio.c67行的{"esd",audio_esd},这行去掉


 


[root@localhost madplay-0.15.2b]# ./configure CC="gcc" --prefix=/boot/source/ --disable-debugging --disable-shared --enable-static CPPFLAGS="-I/boot/source/include" LDFLAGS="-L/boot/source/lib/"


[root@localhost madplay-0.15.2b]# make


[root@localhost madplay-0.15.2b]# make install


 


    这个时候到madplay-0.15.2b文件夹下去看下可执行文件madplay的大小,发现只有240K


    这是由于动态编译的原因,需要进行静态编译


    解决办法:


[root@localhost madplay-0.15.2b]# rm madplay


[root@localhost madplay-0.15.2b]# 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/boot/source/lib /boot/source/lib/libmad.a /boot/source/lib/libid3tag.a  -lz -lm -static -I/boot/source/include


    这个时候再去madplay-0.15.2b文件夹看看madplay的大小,发现有830K


 


^_^,成功了。


madplay可执行文件拷贝到虚拟机根目录下,并将一首歌拷贝到根目录下


执行如下操作:


./madplay /sample.mp3


这个时候就会听到美妙的音乐了<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />


 

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
2
关闭 站长推荐上一条 /3 下一条