全部博文(118)
分类: 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,重新执行