Ubuntu下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"  


2source /etc/environment


source命令也称为“点命令”,也就是一个点符号(.)。source命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录。



6、检查是否将路径加入到PATH (变量前面必须加"$ " 符号)


echo $PATH   


7、检查是否安装完成:#:arm-linux-gcc  -v,此时应打印出交叉编译工具的一些信息,则安装成功。


[html]  view plain  copy
  1. [email protected]:/usr/local/arm_4.4.3/arm-none-linux-gnueabi# arm-linux-gcc -v  
  2. Using built-in specs.  
  3. Target: arm-none-linux-gnueabi  
  4. 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  
  5. Thread model: posix  
  6. 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,就会显示错误:

[cpp]  view plain  copy
  1. /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位的库。

所以执行:

[cpp]  view plain  copy
  1. apt-get install libc6:i386  
  2. apt-get install lib32ncurses5  
  3. apt-get install lib32z1  


另:

Linux  export 命令

功能:设置或显示环境变量。

1 > 在终端输入 “ export ”,可以查看环境变量




2 > 其他 export 设置方法请查看 “ 5、配置环境变量PATH,有4种方法


8、最简单的例子


最简单的例子当然要属 hello world 了。


1 > hello.c

[cpp]  view plain  copy
  1. #include<stdio.h>  
  2. int main()    
  3. {  
  4. printf("hello world!");  
  5. return 0;  
  6. }  

2 > linux 命令 (编译和输出)

[cpp]  view plain  copy
  1. gcc -c hello.c  
  2. gcc -o hello hello.o  

3 运行

[cpp]  view plain  copy
  1. ./hello