1. 程式人生 > >Ubuntu14.04下arm-linux-gcc交叉編譯環境搭建

Ubuntu14.04下arm-linux-gcc交叉編譯環境搭建

Ubuntu下arm-linux-gcc交叉編譯環境搭建

系統:Ubuntu 14.04 32bit

1、網上下載 arm-linux-gcc-4.4.3.tar.gz

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,此時應打印出交叉編譯工具的一些資訊,則安裝成功。

[email protected]:/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.gz32 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<stdio.h>
int main()  
{
printf("hello world!");
return 0;
}

2 > linux 命令 (編譯和輸出)
gcc -c hello.c
gcc -o hello hello.o

3 執行
./hello