ubuntu 12.04版本交叉编译器安装的相关问题

来源:互联网 发布:java正则表达式 . 编辑:程序博客网 时间:2024/05/01 13:20

弄了一下午,终于找到了解决问题的办法!!!!


下面是具体操作:

一.下载arm linux gcc 4.3.2

http://pan.baidu.com/share/link?shareid=1575352696&uk=2754759285&fid=2185900163

二.安装arm linux gcc 4.3.2

1.复制arm-linux-gcc-4.3.2.tgz到根目录下tmp文件夹里

2.将文件解压到/usr/local目录下

解压命令tar xvzf arm-linux-gcc-4.3.2 -C /
 注意以上命令必须要有-C而且是大写的,还有就是C与/之间有个空格

解压后的目录结构是这样的:/usr/local/arm/4.3.2

3.将路径/usr/local/arm/4.3.2/bin添加到环境变量PATH中

修改/root/.bashrc文件

#vim /root/.bashrc

在文件后面加上以下代码

export PATH=$PATH:/usr/local/arm/4.3.2/bin

为了保证成功还可以编辑/etc/profile文件

#vim /etc/profile

也是在后面加上以下代码

PATH=$PATH:/usr/local/arm/4.3.2/bin

保存后再执行命令

#source /etc/profile

使profile文件生效

4.测试安装是否成功

1)重启系统,输入命令

#arm-linux-gcc -v 

如果安装成功将会输出 arm-linux-gcc的版本号


2)编译Hello World程序,测试交叉工具链 

写下下面的Hello World程序,保存为hello.c

#include <stdio.h>
int main()
{
printf("Hello World!\n");
return 0;
}
   执行下面的命令:
# arm-linux-gcc -o hello hello.c
   源程序有错误的话会有提示,没有任何提示的话,就是通过了,就可以下载到ARM目标板上运行了!
接着可以输入filehello的命令,查看生成的hello文件的类型,要注意的是生成的可执行文件只能在ARM体系下运行,不能在其于X86的PC机上运行。


三.遇到的问题

如果安装的64位的Ubuntu的话,执行

#arm-linux-gcc -v

会遇到/usr/local/arm/4.3.2/bin/arm-linux-gcc: line 3: /usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-gcc: No such file or directory的问题

这时只要安装32位的兼容库就行了

#sudo apt-get install libncurses5:i386

在64位下,gcc默认编译代码位64位的,但是,如果你想编译位的,可以用gcc -m32选项,来设置。

不过,不幸的是,会出现错误,说找不到 /usr/include/features.h文件什么的。google一下,发现用这种方法:

sudo apt-get install g++-multilib

就可以了。

四.参考资料

http://www.360doc.com/content/11/1211/13/1317564_171441865.shtml

http://blog.csdn.net/doon/article/details/8053174

http://blog.csdn.net/fulinus/article/details/8648384

http://blog.sina.com.cn/s/blog_8f396e3701010hcx.html


0 0