Chinaunix首页 | 论坛 | 博客
  • 博客访问: 674267
  • 博文数量: 118
  • 博客积分: 7172
  • 博客等级: 少将
  • 技术积分: 1799
  • 用 户 组: 普通用户
  • 注册时间: 2007-12-12 13:33
文章分类

全部博文(118)

文章存档

2012年(5)

2011年(12)

2010年(18)

2009年(36)

2008年(47)

我的朋友

分类: LINUX

2008-07-24 09:42:27

2410上移值madplay

http://blog.csdn.net/yevv/archive/2006/05/31/764694.aspx
 创建ARM Linux交叉编译环境实践

 定制ARMForLinux交叉编译工具详细介绍


add2line  - 将你要找的地址转成文件和行号,它要使用 debug 信息。
ar        产生、修改和扩展一个存档文件
as        -gnu 的汇编器
c++filt   -c++和java 中有一种重载函数,所用的重载函数最后会被编译转化成汇编的标号,c++filt 就是实现这种反向的转化,根据标号得到函数名。
gasp       -gnu 汇编器预编译器。
ld           -gnu 的连接器
nm         -列出目标文件的符号和对应的地址
objcopy    -将某种格式的目标文件转化成另外格式的目标文件
objdump     -显示目标文件的信息
ranlib      -为一个存档文件产生一个索引,并将这个索引存入存档文件中
readelf      -显示 elf 格式的目标文件的信息
size         -显示目标文件各个节的大小和目标文件的大小
strings      -打印出目标文件中可以打印的字符串,有个默认的长度,为4
strip        -剥掉目标文件的所有的符号信息

 

export PATH=$PATH:/usr/local/src/armv4l/bin
export CC=armv4l-unknown-linux-gcc
export LD=armv4l-unknown-linux-ld
export MP3=/usr/local/src/mp3player
export CFLAGS="-I$MP3/libz-1.1.4 -I$MP3/libid3tag-0.15.1b -I$MP3/libmad-0.15.1b"
export CPPFLAGS="-I$MP3/libz-1.1.4 -I$MP3/libid3tag-0.15.1b -I$MP3/libmad-0.15.1b"
export LDFLAGS="-L/usr/local/src/armv4l/armv4l-unknown-linux/lib"

1.
编译zlib 因为libid3tag需要这个库
./configure --prefix=/usr/local/src/armv4l/armv4l-unknown-linux --host=arm-linux --enable-static --disable-shared --disable-debugging
修改Makefile
AR=/usr/local/arm/2.95.3/bin/arm-linux-ar
RANLIB=/usr/local/arm/2.95.3/bin/arm-linux-ranlib
make
make install
--enable-static 静态库
--disable-shared 使库构造成.so为后缀的形式

2.
编译libid3tag
./configure --host=arm-linux --disable-debugging --disable-shared --enable-static --disable-debugging --prefix=/usr/local/src/armv4l/armv4l-unknown-linux
make
make install

3.
编译libmad
./configure --enable-fpm=arm --host=arm-linux --disable-shared --disable-debugging --prefix=/usr/local/src/armv4l/armv4l-unknown-linux --enable-static
make
make install
(--enable-fpm=arm表示使用arm架构)


4.
编译madplay
./configure --host=arm-linux --disable-debugging --disable-shared --enable-static
make

rm madplay
在最后一条编译语句后面加-static,重新执行

 


libz.a: $(OBJS) $(OBJA)
$(AR) rcs $@ $(OBJS) $(OBJA)
-@ ($(RANLIB) $@ || true) >/dev/null 2>&1
阅读(794) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~