分页: 1 / 1

在ubuntu 7.10上建立交叉编译环境

发表于 : 2007-11-09 23:16
tjuzhl
首先申明,我是一个新手,接触linux总共不到1个月,当时看了网上好多论坛,最终选择了ubuntu ,理由很简单,因为他有一个很大的论坛,在里面很多东西都可以找到,而且有这么多同行,到时候也方便交流,对于一个新手来说,这可能是在重要不过的了,我学linux的目的主要是因为潜入式研究课题的需要,想用uclinux,一上来当然就是在pc上建交叉编译环境了。由于我的机子比较新,开始装的是ubuntu 7.04,但是发现不能上网,只好等到10.18号7.10出来了才装的。
对于建立交叉编译环境,网上这方面的文章到处都是,只要内善于运用google,各种各样的都有,我当然也是这样做得,但是很不幸的是没有一个成功的,最接近成功的要数这种方法:http://hi.baidu.com/wangy0919/blog/item ... 0c82d.html,当时确实小高兴了一下,后来我在别的文章中看到可以测试一下,于是我就照做了:
在一个目录中见一个hello.c文本,用什么方法都行
/*Hello.c*/
#include <stdio.h>

main()
{
char *hello="hello!\n";
printf("%s",hello);
}
然后键入arm-linux-gcc hello.c -o hello,但是却报错,说什么全局变量没定义,我在网上搜了很久都没有解决。我也不知道是什么原因,大概是因为我用的ubuntu版本太新吧,我忽略了这一步,继续往后面做,解压uClinux的源代码,安装编译工具,也可以进行,但是到后面就报错了,于是我又拼命的看书,希望能从书上找到答案,说实在的,我以前是一遇到问题就google ,很少看基础,连shell命令的都不清楚,到现在才发现基础真的是太重要了。不过很遗憾,还是没有找到答案,但是确实有很多收获,以前很多不懂的现在都明白了,一个偶然的机会我看到了这篇文章:http://blog.csdn.net/yxf/archive/2007/1 ... 24765.aspx,病急乱投医,上面说下一个整套编译好的工具链,我也就试了一下,以前下的arm-elf-tools一般也就十几m吧,我找到最新的版本是arm-elf-tools-20040427.sh,可这个却有200+m,我也下了,抱着试一下的心态,可下下来解压后,生成一个新的usr文件夹,我就用他一个一个替换了原来usr文件夹里面相关的内容,键入:arm-linux-gcc -v,输出如下结果:
Reading specs from /usr/local/lib/gcc/arm-linux/3.4.4/specs
Configured with: ../configure --target=arm-linux --disable-shared --prefix=/usr/local --with-headers=/home/gerg/new-wave.ixdp425/linux-2.4.x/include --with-gnu-as --with-gnu-ld --enable-multilib
Thread model: posix
gcc version 3.4.4
再转到上面的hello.c所在文件夹内,arm-linux-gcc hello.c -o hello,
生成了一个hello的可执行文件,perfect,成功。
后面的就按http://blog.iyi.cn/hily/archives/2006/09/uclinuxsamsung_s3c44b0x.html上说的做吧,作者讲得很好,很有启发,在此也表示我由衷的谢意。

发表于 : 2007-11-09 23:39
loopgs
沙发.
楼主讲的不错,这几天我就在建交叉编译环境,一直不成功.一会试试楼主的办法

发表于 : 2007-11-10 18:34
wenwu
谢谢楼主了。这几天也在搞这个。

[讨论]楼主还真是个心细的人

发表于 : 2007-11-19 11:07
hhjj1201
总结得很详细,相信对初学者很有帮助,鼓励大家多发这样的贴子

发表于 : 2007-11-28 13:45
liyangmin
谢谢楼主

发表于 : 2008-01-15 1:20
dany1969
太感谢了,正是我所需要的。

发表于 : 2008-01-16 20:42
詩片
给大家一个4.2.1版的编译器
本人编译内核测试过
有问题说一下
http://hi.baidu.com/ttheaven/blog/item/ ... a163a.html

新的东西资料都比较少

发表于 : 2008-01-19 19:45
peter81015
ubuntu7.10都发行两个月了,才第一次接触,感觉很不错。比原来的redhat9.0好用多了,估计是自己一直用windows的关系吧。看到ubuntu这么好用,就想移植到arm上试一下,估计是下学期的事情了。
希望和大家一起交流学习

发表于 : 2008-01-22 13:58
xxmv99

代码: 全选

xxmv99@xxmv99-desktop:~/tmp$ file main
main: ELF 32-bit LSB executable, ARM, version 1, for GNU/Linux 2.4.3, dynamically linked (uses shared libs), not stripped
xxmv99@xxmv99-desktop:~/tmp$ 

发表于 : 2008-02-27 10:19
twinkle163
雪中送炭啊!!!