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
"
2> source /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.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<stdio.h> int main() { printf("hello world!"); return 0; }
2 > linux 命令 (編譯和輸出)gcc -c hello.c gcc -o hello hello.o
3 執行./hello