交叉編譯器arm linux gcc的安裝

2021-09-29 18:28:21 字數 3548 閱讀 3286

2.解壓檔案 sudo tar -xvzf arm-linux-gcc-4.4.3.tgz –c /

armfriend版本的,解壓後的目錄是/opt/friendlyarm/toolschain/4.4.3

3在/usr/local下建立目錄arm

sudo mkdir /usr/local/arm

4.複製檔案

sudo cp -r /opt/friendlyarm/toolschain/4.4.3 /usr/local/arm。

5.新增交叉編譯器環境變數

方法(1):修改/etc/bash.bashrc檔案 —(此檔案只對當前使用者適用)

sudo vi /etc/bash.bashrc

在最後加上 export path=pat

h:/u

sr/a

rm

/4.4.3/b

in(路

徑)(注

意等號那

邊不要有

空格)這

裡好多博

客都寫的

expo

rtpa

th

=path:/usr/arm/4.4.3/bin (路徑)(注意等號那邊不要有空格)這裡好多部落格都寫的 export path=

path:/

usr/

arm/

4.4.

3/bi

n(路徑

)(注意

等號那邊

不要有空

格)這裡

好多部落格

都寫的e

xpor

tpat

h=path:/opt/friendlyarm/toolschain/4.4.3/bin,其實沒必要,因為第四部你已經吧檔案複製過去了,可以直接寫成/usr/arm/4.4.3/bin ,根目錄下的opt檔案都可以刪掉的。

方法(2):修改/etc/profile檔案(此檔案屬於系統級別的環境變數,設定在裡面的東西對所有使用者適用)

sudo vi /etc/profile

增加路徑設定,在末尾新增如下:

export path=$path:/usr/local/arm/4.4.3/bin

方法(3):修改/etc/environment檔案

sudo vi /etc/environment

原檔案應為

path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games「

將其改為

path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/arm/4.4.3/bin"

6.註冊環境變數

立即使新的環境變數生效,不用重啟電腦,對應步驟5也有3種方法

方法(1):source /root/.bashrc

或者./etc/bash.bashrc

方法(2):source /etc/profile

方法(3):立即生效

7.檢查是否將路徑加入到path

echo $path

顯示內容/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/arm/4.4.3/bin說明已經將交叉編譯器的路徑加入path。至此,交叉編譯環境安裝完成。

8.測試是否安裝成功

在終端輸入 arm-linux-gcc -v,可以檢視arm-linux-gcc 的版本。到這裡請注意,如果你的系統是32位的,就已經成功,會顯示arm-linux-gcc 的版本資訊,但是如果你的系統是64位的那就會報錯 15: exec: /usr/local/arm/4.4.3/bin/.arm-none-linux-gnueabi-gcc: not found。這是因為64位的系統缺少32位的庫,需要在安裝。但是ubuntu12.04以後的版本就沒有32位的庫,所以執行 sudo apt-get install libc6:i386,然後執行apt-get install ia32-libs,這是他會提示不可用,但是會給出幾個替代的,你選乙個安裝就可以。安裝完再執行arm-linux-gcc -v,就可以看到版本資訊,至此,環境搭建完畢。

arm linux gcc常用引數介紹

0. arm-linux-gcc -o example example.c

不加-c、-s、-e引數,編譯器將執行預處理、編譯、彙編、連線操作直接生成可執行**。

-o引數用於指定輸出的檔案,輸出檔名為example,如果不指定輸出檔案,則預設輸出a.out

arm-linux-gcc -c -o example.o example.c

-c引數將對源程式example.c進行預處理、編譯、彙編操作,生成example.o檔案

去掉指定輸出選項"-o example.o"自動輸出為example.o,所以說在這裡-o加不加都可以

2.arm-linux-gcc -s -o example.s example.c

-s引數將對源程式example.c進行預處理、編譯,生成example.s檔案

-o選項同上

3.arm-linux-gcc -e -o example.i example.c

-e引數將對源程式example.c進行預處理,生成example.i檔案(不同版本不一樣,有的將預處理後的內容列印到螢幕上)

就是將#include,#define等進行檔案插入及巨集擴充套件等操作。

4.arm-linux-gcc -v -o example example.c

加上-v引數,顯示編譯時的詳細資訊,編譯器的版本,編譯過程等。

5.arm-linux-gcc -g -o example example.c

-g選項,加入gdb能夠使用的除錯資訊,使用gdb除錯時比較方便。

6.arm-linux-gcc -wall -o example example.c

-wall選項開啟了所有需要注意的警告資訊,像在宣告之前就使用的函式,宣告後卻沒有使用的變數等。

7.arm-linux-gcc -ox -o example example.c

-ox使用優化選項,x的值為空、0、1、2、3

0為不優化,優化的目的是減少**空間和提高執行效率等,但相應的編譯過程時間將較長並占用較大的記憶體空間。

8.arm-linux-gcc -i /home/include -o example example.c

-idirname: 將dirname所指出的目錄加入到程式頭檔案目錄列表中。如果在預設系統及當前目錄中沒有找到需要的檔案,就到指定的dirname目錄中去尋找。

9.arm-linux-gcc -l /home/lib -o example example.c

-ldirname:將dirname所指出的目錄加入到庫檔案的目錄列表中。在預設狀態下,連線程式ld在系統的預設路徑中(如/usr/lib)尋找所需要的庫檔案,這個選項告訴連線程式,首先到-l指定的目錄中去尋找,然後再到系統預設路徑中尋找。

10.arm-linux-gcc –static -o libexample.a example.c

交叉編譯器

交叉編譯器可以使我們在主機上編譯出可以在嵌入式裝置上執行的程式 install gcc aarch64 linux gnu 安裝64位用於作業系統的交叉編譯器,gcc版本是5.4,安裝位置在 usr bin sudo apt get install gcc arm linux gnueabihf 安...

ubuntu安裝交叉編譯器 安裝交叉編譯器

2 安裝方法二 1 安裝方法一 開啟ubuntu終端 使用sudo apt list gcc arm 可以檢視所有的交叉編譯器,假設安裝gcc arm linux gnueabihf,則使用sudo apt get install gcc arm linux gnueabihf就裝好了。參考 2 安...

arm linux交叉編譯器

本文出自 http embdev.gotdns.org 版本選者在linux裡面是非常重要的,沒有windows一樣有效的管理,建議選者文中的版本。否則出現錯誤的概率很高,所有的版本區別請參考各位庫的官方主頁。雖然網上有現成的工具,但是,一步步的製作下來可以讓新手理解一下linux各個庫的關係,以及...