Chinaunix首页 | 论坛 | 博客
  • 博客访问: 563481
  • 博文数量: 199
  • 博客积分: 5087
  • 博客等级: 大校
  • 技术积分: 2165
  • 用 户 组: 普通用户
  • 注册时间: 2010-01-26 21:53
文章存档

2010年(199)

我的朋友

分类: LINUX

2010-06-05 14:29:47

1移植
madplay
前的一些准备工作:
首先,从网站上下载以下的4个包:
madplay-0.15.2b.tar.gz

 libmad-0.15.1b.tar.gz

libid3tag-0.15.1b.tar.gz
 和
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.c第67行的{"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
这个时候就会听到美妙的音乐了
转自:
遇到的问题及解决:
Q:编译 madplay 所依赖的库文件libmad时出现错误
A:gcc 4.x不支持'-fforce-mem'
问题描述及相关补丁
补丁的使用方法:
patch -Np1 -i xxx.patch
扩展阅读:Madplay移植到mini2440(Ubuntu 8.10)全过程详解
 
 
 
阅读(517) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~