转载:Ubuntu14.04下arm-linux-gcc交叉编译环境搭建
Ubuntu下arm-linux-gcc交叉编译环境搭建
系统:Ubuntu 14.04 32bit
1、网上下载 arm-linux-gcc-4.4.3.tar.gz
arm-linux-gcc-4.4.3.tar.gz(CSDN)
arm-linux-gcc-4.4.3.tar.gz (百度云盘,密码:1gtt)
2、解压
sudo tar -xvlf arm-linux-gcc-4.4.3.tar.gz
3、新建目录
sudo mkdir /usr/local/arm_4.4.3
4、移动文件到目录 arm_4.4.3
sudo mv ./opt/FriendlyARM/toolschain/4.4.3/* /usr/local/arm_4.4.3
5、配置环境变量PATH,有4种方法
A. 修改 /etc/bash.bashrc 文件
1> gedit /etc/bash.bashrc // 在这个文件后添加:
export PATH=$PATH:/usr/local/arm_4.4.3/bin
export PATH
2> source /etc/bash.bashrc
B.修改 /etc/profile 文件
1> gedit /etc/profile //在这个文件后添加
export PATH=$PATH:/usr/local/arm_4.4.3/bin
2> source /etc/profile
C. 直接 export法
直接执行命令:export PATH=$PATH:/usr/local/arm_4.4.3/bin
(注意,如果你关闭了终端,或者新建一个终端,需要重新执行一下这个命令。)
D.修改 /etc/environment文件
1> sudo gedit /etc/environment
原文件为:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
将其修改为:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/arm_4.4.3/bin"
2> source /etc/environment
source命令也称为“点命令”,也就是一个点符号(.)。source命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录。
6、检查是否将路径加入到PATH (变量前面必须加”$ ” 符号)
echo $PATH
7、检查是否安装完成:#:arm-linux-gcc -v,此时应打印出交叉编译工具的一些信息,则安装成功。
root@ubuntu:/usr/local/arm_4.4.3/arm-none-linux-gnueabi# arm-linux-gcc -v
Using built-in specs.
Target: arm-none-linux-gnueabi
Configured with: /opt/FriendlyARM/mini2440/build-toolschain/working/src/gcc-4.4.3/configure --build=i386-build_redhat-linux-gnu --host=i386-build_redhat-linux-gnu --target=arm-none-linux-gnueabi --prefix=/opt/FriendlyARM/toolschain/4.4.3 --with-sysroot=/opt/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi//sys-root --enable-languages=c,c++ --disable-multilib --with-arch=armv4t --with-cpu=arm920t --with-tune=arm920t --with-float=soft --with-pkgversion=ctng-1.6.1 --disable-sjlj-exceptions --enable-__cxa_atexit --with-gmp=/opt/FriendlyARM/toolschain/4.4.3 --with-mpfr=/opt/FriendlyARM/toolschain/4.4.3 --with-ppl=/opt/FriendlyARM/toolschain/4.4.3 --with-cloog=/opt/FriendlyARM/toolschain/4.4.3 --with-mpc=/opt/FriendlyARM/toolschain/4.4.3 --with-local-prefix=/opt/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi//sys-root --disable-nls --enable-threads=posix --enable-symvers=gnu --enable-c99 --enable-long-long --enable-target-optspace
Thread model: posix
gcc version 4.4.3 (ctng-1.6.1)
注意:arm-linux-gcc-4.4.3.tar.gz 是32 bit ,如果 系统是Ubuntu32 bit,那么就可以看到已经成功了,会显示arm-linux-gcc 的版本信息。但如果Ubuntu 64 bit,就会显示错误:
/usr/local/arm_4.4.3/bin/arm-linux-gcc: 15: exec: /usr/local/arm_4.4.3/bin/.arm-none-linux-gnueabi-gcc: not found
这是因为64 bit的Ubuntu系统缺少32 bit的库,需要安装。Ubuntu12.04 64 bit以后的版本就没有32位的库。
所以执行:
apt-get install libc6:i386
apt-get install lib32ncurses5
apt-get install lib32z1
另:
Linux export 命令
功能:设置或显示环境变量。
1 > 在终端输入 “ export ”,可以查看环境变量
2 > 其他 export 设置方法请查看 “ 5、配置环境变量PATH,有4种方法”
8、最简单的例子
最简单的例子当然要属 hello world 了。
1 > hello.c
#include
int main()
{
printf("hello world!");
return 0;
}
2 > linux 命令 (编译和输出)
gcc -c hello.c
gcc -o hello hello.o
3 运行
./hello