打印
[ZLG-ARM]

急!交叉编译mtd工具,出现找不到zlib.h的错误!

[复制链接]
2495|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
youcanh|  楼主 | 2007-6-29 23:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
急!大虾帮帮小弟。最近我要用到flash_eraseall工具,好擦除flash,往NAND上写yaffs文件系统。参考网上的做法下载了mtd-utils-1.0.0.tar 和 zlib-1.2.3.tar 。我的环境是centOS5.0 交叉编译器3.4.3下面是我的操作步骤,帮我看看有没有错误
首先交叉编译zlib。做法如下
make clean 
CC=arm-linux-gcc LDSHARED="arm-linux-ld -shared" ./configure --shared
make 
make prefix=/usr/local/arm/v5t_le/rootfs install
这样在rootfs下有三个目录 include  lib  share在include目录里就有zlib.h我就把include里的头文件拷到了usr/include中。lib中有我们下一步用到的库文件
接着交叉编译mtd-util
修改Makefile
SBINDIR=/usr/sbin
MANDIR=/usr/man 
INCLUDEDIR=/usr/include
上面几句不知道什么意思,就没改
LDFLAGS := -L /usr/local/arm/v5t_le/rootfs/lib  添了这句,就是前面交叉编译出来的库
CROSS=arm-linux-
CC := $(CROSS)gcc

make就出现了下面的错误arm-linux-gcc -I./include -O2 -Wall -g -c -o mkfs.jffs2.o mkfs.jffs2.c -g -Wp,-MD,.mkfs.jffs2.c.dep
mkfs.jffs2.c:68:18: zlib.h: No such file or directory
make: *** [mkfs.jffs2.o] Error 1
rm ftl_check.o mkfs.jffs.o flash_erase.o ftl_format.o nanddump.o doc_loadbios.o
把编译器换成3.3.2,步骤一样zlib.h找到了,链接又有错误
/usr/local/arm/3.3.2/lib/gcc-lib/arm-linux/3.3.2/../../../../arm-linux/bin/ld: ERROR: /usr/local/arm/3.3.2/lib/gcc-lib/arm-linux/3.3.2/libgcc.a(_modsi3.oS) is compiled for EABI version 0, whereas mkfs.jffs2 is compiled for version 4
File format not recognized: failed to merge target specific data of file /usr/local/arm/3.3.2/lib/gcc-lib/arm-linux/3.3.2/libgcc.a(_modsi3.oS)
mtd换成mtd-snapshot-20040730.tar也是找不到zlib.h
我都快急疯了,搞了一整天都没有结果!是不是zlib和mtd的版本不配套呢?真是搞不明白了!

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

17

主题

57

帖子

0

粉丝