arm-linux 交叉开发工具链

来源:百度知道 编辑:UC知道 时间:2024/06/17 14:15:27
现在在学习linux交叉编译,环境内核是linux 2.6.20,自己升级的,现在的交叉编译卡在编译GCC这个地方,不知道怎么办,下边是错误信息,请大家不吝赐教,谢谢!

gcc -DCROSS_COMPILE -DIN_GCC -g -O2 -DHAVE_CONFIG_H -I. -I../../../src-dir/gcc-2.95.3/gcc -I../../../src-dir/gcc-2.95.3/gcc/config -I../../../src-dir/gcc-2.95.3/gcc/../include -c insn-attrtab.c
gcc -c -DCROSS_COMPILE -DIN_GCC -g -O2 -DHAVE_CONFIG_H -I. -I../../../src-dir/gcc-2.95.3/gcc -I../../../src-dir/gcc-2.95.3/gcc/config -I../../../src-dir/gcc-2.95.3/gcc/../include ../../../src-dir/gcc-2.95.3/gcc/config/arm/arm.c
../../../src-dir/gcc-2.95.3/gcc/config/arm/arm.c: 在函数 ‘arm_override_options’ 中:
../../../src-dir/gcc-2.95.3/gcc/config/arm/arm.c:286: 警告:赋值丢弃了指针目标类型的限定
../../../src-dir/gcc-2.95.3/gcc/config/arm/arm.c:530: 错误:赋值运算中的左值无效
make[1]: *** [arm.o] 错误 1
make[1]: Leaving directory `/home/chenzl/arm-linux/build-dir/build-gcc/gcc'
make: *** [all-gcc] 错误 2
那交叉编译的新的gcc版本最低是多少才可以通过?

gcc-2.95.3太老了, 新的gcc编译器不支持它的源码。
你可以:
1,建立gcc-3.4以前的本地工具链编译gcc-2.95.3
2,用新的版本的gcc制作交叉编译工具。
3,或者你可以修改2.95.3的源码让它可以通过编译。

_
看你现在用的gcc是什么版本, 建议最低不要低于3.4. 另外, gcc到底用什么版本和你的binutils , glibc的版本有关, 要不会有问题。