先从SourceForge.net下载四个文件:madplay-0.15.2b.tar.gz,libid3tag-0.15.1b.tar.gz,libmad-0.15.1b.tar.gz,zlib-1.1.4.tar.gz(压缩库存,libid3tag需要用到它)。在编译前,请先在宿主机上配置好交叉编译环境,以下编译过程是在交叉版本为4.3.2编译器环境下通过。1)编译zlib
./configure --prefix=/usr/mp3
修改Makefile
CC=arm-none-linux-gnueabi-gcc
AR=arm-none-linux-gnueabi-ar rc
RANLIB=
arm-none-linux-gnueabi-ranlib
执行 make,make install
成功编译后,zlib库就安装到了交叉编译器的目录下了。
2)编译libid3tag
./configure CC=arm-none-linux-gnueabi-gcc --host=arm-linux --prefix=
/usr/mp3 --disable-debugging -disable-shared LDFLAGS=-L
/usr/mp3/lib CPPFLAGS=-I
/usr/mp3/include
make
make install
3)编译libmad
./configure CC=arm-none-linux-gnueabi-gcc --host=arm-linux --prefix=/usr/mp3 --enable-shared --enable-static CPPFLAGS=-I/usr/mp3/include LDFLAGS=-L/usr/mp3/lib
make
make install
4)编译madplay
./configure CC=arm-none-linux-gnueabi-gcc --host=arm-linux --prefix=/usr/mp3 --disable-shared --enable-static CPPFLAGS=-I/usr/mp3/include LDFLAGS=-L/usr/mp3/lib
make
在编译安装libmad库的时候出现下面的错误
cc1: error: unrecognized command line option "-fforce-mem"
其实这个错误是编译安装libmad时候引起的,audacity包含libmad
解决方式是:找到libmad configure之后的Makefile,
vi Makefile
找到包含"-fforce-mem"字符串,将其删除,就ok了。
原因是gcc 3.4 或者更高版本,已经将其去除了,所以会出现上面的错误!
阅读(1877) | 评论(0) | 转发(0) |