2021-05-12 14:32:11
64位元Ubuntu 16.04搭建嵌入式交叉編譯環境arm-linux-gcc過程圖解
安裝步驟
1、準備工具安裝目錄
下載 arm-linux-gcc 4.4.3
下載連結 http://www.linuxidc.com/Linux/2011-05/35906.htm
將壓縮包arm-Linux-gcc-4.4.3.tar.gz存放在一個目錄下,這個目錄就是你等會解壓縮的目錄,以後這個目錄就不能隨便刪掉了,我的存放路徑是/home/aldrich/arm,如下圖,記住這個路徑,等會還會用到。
.tar.gz 和.tgz
解壓:tar zxvf FileName.tar.gz
壓縮:tar zcvf FileName.tar.gz DirName
2、安裝軟體
使用tar命令:tar zxvf arm-linux-gcc-4.3.2.tgz將software資料夾下的arm-linux-gcc-4.3.2.tgz解壓縮安裝到當前目錄。通過下圖可以看到解壓成功了,並且解壓後的檔案存放在了
/home/aldrich/arm/arm-linux-gcc-4.3.2
資料夾下,如下圖所示,這個存放路徑可得記住,如下圖
3、設定系統環境變數
設定環境前先坐下普及:
Ubuntu不同目錄下profile與bashrc的區別
/etc/profile 此檔案為系統的每個使用者設定環境資訊,當使用者第一次登入時,該檔案被執行,並從/etc/profile.d目錄的組態檔中蒐集shell的設定。
/etc/bash.bashrc 為每一個執行bash shell的使用者執行此檔案,當bash shell被開啟時,該檔案被讀取。
~/.bash_profile 每個使用者都可使用該檔案輸入專用於自己使用的shell資訊,當使用者登入時,該檔案僅僅執行一次,預設情況下,他設定一些環境變數,執行使用者的.bashrc檔案。
~/.bashrc 該檔案包含專用於你的bash shell的bash資訊,當登入時以及每次開啟新的shell時,該檔案被讀取。
~/.bash_logout 當每次退出系統(退出bash shell)時,執行該檔案。
另外,/etc/profile中設定的變數(全域性)的可以作用於任何使用者,而~/.bashrc等中設定的變數(區域性)只能繼承/etc/profile中的變數,他們是"父子"關係。
~/.bash_profile 是互動式、login 方式進入 bash 執行的。
~/.bashrc 是互動式 non-login 方式進入 bash 執行的。
通常二者設定大致相同,所以通常前者會呼叫後者。
接下來設定系統環境變數,把交叉編譯工具鏈的路徑新增到環境變數PATH中去,這樣就可以在任何目錄下使用這些工具。記下上一步中的安裝路徑,使用命令:vim /home/aldrich/.bashrc 編輯.bashrc檔案,新增環境變數。
在該檔案中最後一行新增:
export PATH=$PATH:/home/aldrich/arm/arm-linux-gcc-4.3.2/bin
這個路徑就是那個bin目錄所在的路徑,可能你的不一樣,按照你實際的目錄填就可以了,如下圖
編寫完儲存就好了
4、使環境變數生效
使用命令:source /home/aldrich/.bashrc 使環境變數生效
5、檢查環境變數是否設定成功
在終端上輸入命令 arm-linux 再按Tab鍵,可以看到下圖,說明環境變數設定成功了
6、安裝32位元庫相容包
輸入命令後,出現下面的錯誤提示資訊:
/home/aldrich/arm/arm-linux-gcc-4.3.2/bin/arm-linux-gcc:
line 3:
/home/aldrich/arm/arm-linux-gcc-4.3.2/bin/arm-none-linux-gnueabi-gcc:No such file or directory
說是出現這種問題的原因是由於Ubuntu16.04用的是64位元的,按以前的解決方法就是使用命令:
sudo apt-get install ia32-libs 裝一些32位元的庫
出現上述介面是因為Ubuntu16.04版本已不支援ia32-libs的軟體包,而是使用了lib32ncurses5、lib32z1軟體包做為替代,所以在Ubuntu16.04版本當中應該安裝執行:
sudo apt-get install lib32ncurses5 lib32z1
待安裝完32位元的庫之後,再使用命令:arm-linux-gcc -v,這一次就成功了,如下圖
8、交叉編譯工具驗證
編譯一個hello.c檔案
#include<stdio.h>
int main()
{
printf("hello world!n");
}
使用命令:arm-linux-gcc hello.c -o hello 看是否編譯成功
可見成功生成了二進位制檔案,至此,交叉編譯工具就設定完成了。
Ubuntu 16.04上安裝arm-linux-gcc-4.4.3 http://www.linuxidc.com/Linux/2016-07/133746.htm
本文永久更新連結地址:http://www.linuxidc.com/Linux/2016-12/138771.htm
相關文章