最近一直在弄linux 系统,由于需要进行嵌入式 操作,所以必须要安装交叉编译环境。下面是我安装交叉编译环境的过程,系统用的是UBUNTU,对初学者应该有些帮助
安装交叉编译环境
1. 安装标准的C开发环境,由于Ubuntu安装默认是不安装的,所以需要先安装一下:
sudo apt-get install gcc g++ libgcc1 libg++ make gdb
2.安装交叉编译器
从 ftp://ftp.arm.linux.org.uk/pub/armlinux/toolchain/ 下载交叉编译器cross-3.2.tar.bz2,然后解压sudo tar jxvf /home/engelbert/cross-3.2.tar.bz2(/home/engelbert/为你存放cross-3.2.tar.bz2的路径),然后将解压后的文件都转移到/usr/local/下,
sudo mv /home/engelbert/usr/local/arm /usr/local
3.把交叉编译器的路径加入到PATH
sudo vi /etc/bash.bashrc
在后面加入如下代码:
if [ -d /usr/local/arm ] ; then
PATH=/usr/local/arm/bin:"${PATH}"
fi
4. 使新的环境变量生效
# source /etc/profile
5.检查是否将路径加入PATH的方法:
echo $PATH
如果显示的内容中有/usr/local/arm/bin,说明已经将交叉编译器的路径加入PATH
为了防止lib库没有加载,可以执行以下下面的命令:
export LD_LIBRARY_PATH=” /usr/local/arm/lib”
自此,交叉编译环境安装完成。
下面我们就来测试 一个简单的例子。
/*Hello.c*/
#include <stdio.h>
main()
{
printf(hello ubuntu!/n);
}
程序输好以后确认无误,保存。进入程序文件所在目录
arm-linux-gcc hello.c –o hello(-o 可以理解为“目标为生成”)
arm-linux-gcc是第一次出现,有人可能会问这个哪里来的,不妨打开刚才安装的交叉编译工具目录/usr/local/arm-linux/arm-linux/bin/可以发现里面有一个arm-linux-gcc文件,这个就是针对arm 的 CPU的gcc编译器了。以后用其它编译工具链式也可以通过这种方法看看其编译器是什么了。编译好了以后就可以下载到目标机进行测试了。当然也可以先在 PC机上测试正误。用gcc hello.c –o hello就可以生成PC机上程序了,在运行./hello 就可以发现终端显示hello!字样。用arm-linux-gcc编译的程序在PC机上是不能运行的,运行后给出错误报告:无法执行二进制文件。说明经过交叉编译环境编译出的文件是硬件 可执行的二进制代码文件。
http://www.icdev.com.cn/?734/viewspace-653.html