随笔-118  评论-133  文章-4  trackbacks-0
1、编译libz:

首先安装 zlib 库,这个是后面的库的编译基础。
http://www.zlib.net/zlib-1.2.3.tar.gz 

解压
tar zxf zlib-1.2.3.tar.gz

由于 zlib 库的configure 脚本不支持交叉编译选项,可以采用以下方法来解决:

1)
CC=arm-linux-gcc ./configure --prefix=/usr/local/arm/2.95.3/arm-linux/ --shared  
注意:这里配置指向 /usr/local/arm/2.95.3/arm-linux/ 目录,会自动安装在 /usr/local/arm/2.95.3/arm-linux/ [include,lib] 目录下,
千万不要装错目录了,不然后面会找不到这个库的。

2)make
3)make install

安 装完后检查一下目录 /usr/local/arm/2.95.3/arm-linux/ [include,lib] ,假如 include 中没有 zlib.h 之类的头文件,lib 中没有 libz.so.1.2.3 ,那就自己手动拷到这些目录下去,记着拷的时候把所有的 *.h  都需要拷过去,在拷库的时候用 cp –a libz.* /…./lib  就行,要用上 –a 选项

2、编译mtd-utils:
下载mtd-utils-1.0.0.tar.gz:
ftp://ftp.infradead.org/pub/mtd-utils/mtd-utils-1.0.0.tar.gz
解压目录为mtd-utils-1.0.0
#cd mtd-utils-1.0.0

1) 修改Makefile
CROSS=arm-linux-

2) make ( 用file命令查看,如 file mkfs.jffs2 )
#file mkfs.jffs2
mkfs.jffs2: ELF 32-bit LSB executable, ARM, version 1 (ARM), for GNU/Linux 2.0.0, dynamically linked (uses shared libs), for GNU/Linux 2.0.0, not stripped
可知:交叉编译成功。


posted on 2007-08-10 16:57 lfc 阅读(10124) 评论(5)  编辑 收藏 引用

评论:
# re: mtd-utils编译 2009-03-16 16:27 | bigbird0122
请问一下,我在交叉编译zlib-1.2.3,和mtd-utlis-1.0.0,我这里没有/usr/local/arm/2.95.3/arm-linux/目录,所以我就放在了别的地方了,然后编译zlib没有提示出错,并且产生了share lib include三个文件夹,并且将include/* 拷贝到 mtd-utils-1.0.0/include 下
将lib、* 拷贝到我的交叉编译工具链文件夹/mnt/sdb/tools/arm-none-linux-gnueabi的lib目录下,然后make,出现
/mnt/sdb/tools/arm-none-linux-gnueabi/bin/../lib/gcc/arm-none-linux-gnueabi/3.4.4/../../../../arm-none-linux-gnueabi/bin/ld:cannnot find -lz
collect2: ld returned 1 exit status
make: *** [mkfs.jffs2] 错误 1
请问是哪里的错误,我觉得我没做错吧,除了那个拷贝到工具链不知道是不是
/usr/local/arm/2.95.3/arm-linux/是指交叉编译工具链的位置吗?  回复  更多评论
  
# jm9EKu <a href="http://jfwifwgxazqt.com/">jfwifwgxazqt</a> 2011-05-27 23:44 | avwqzs
# re: mtd-utils编译 2011-11-25 17:27 | gu_student
谢谢  回复  更多评论
  
# re: mtd-utils编译 2012-05-14 10:14 | 军军
junjunhello@bigbird0122

collect2: ld returned 1 exit status
make: *** [mkfs.jffs2] 错误 1

你的问题解决了吗  回复  更多评论
  
只有注册用户登录后才能发表评论。