1. 程式人生 > >自己動手安裝交叉編譯工具鏈

自己動手安裝交叉編譯工具鏈

一、安裝步驟:

步驟1:開啟虛擬機器,在/usr/local/下建立/usr/local/arm資料夾

步驟2:先將安裝包從Windows中弄到linux中去。可以用共享資料夾,也可以  Samba,也可以cuteftp

步驟3:解壓。tar -jxvf arm-2009q3.tar.bz2

    到此相當於程式已經安裝完畢,真正的應用程式安裝在  /usr/local/arm/arm-2009q3/bin目錄下

 

到此相當於程式已經安裝完畢,真正的應用程式安裝在/usr/local/arm/arm-2009q3/bin目錄下

注:linux中的目錄管理方法。技術角度來講,linux中所有目錄性質都是一樣的,所以技術角度來講我們把軟體安裝到哪裡都行。但是因為如果胡亂放置,將來程式可能不好找。所以久而久之大家就總結了一個檔案放置的一般定義,譬如說/bin目錄放置一些系統自帶的使用者使用的應用程式,/sbin目錄下存放的是系統自帶的系統管理方面的應用程式。

那我們裝軟體放在哪裡?一般都在/usr目錄下。我們安裝arm-linux-gcc,就在/usr/local/底下建立一個arm資料夾,然後裝到裡面。

 

二、安裝後的測試

到真正的應用程式的安裝目錄下(也就是/usr/local/arm/arm-2009q3/bin),去執行

arm-linux-gcc -v

執行方法是:./arm-none-linux-gnueabi-gcc -v

執行後可以得到一長串輸出,其中有gcc version 4.4.1”字樣,即表示安裝成功。


我出現問題:我執行./arm-none-linux-gnueabi-gcc -v時,提示bush:./arm-none-linux-gnueabi-gcc -v沒有那個檔案或目錄

原因:62位機與32位不相容

解決方法:輸入 sudo apt-get install lib32bz2-1.0

執行./arm-none-linux-gnueabi-gcc -v

 

執行後可以得到一長串輸出,其中有gcc version 4.4.1”字樣,即表示安裝成功。


三、環境變數

以上的測試只能在/usr/local/arm/arm-2009q3/bin這個目錄裡,去執行arm-none-linux-gnueabi-gcc -v  如果在別的目錄下去執行就不行。


如何在別的目錄下去執行也可以呢?

在終端輸入  echo $PATH   

再輸入 export PATH=/usr/local/arm/arm-2009q3/bin:$PATH

就可以達到目的

(輸入echo $PATH 可以看到

,多了第一個)。

但是隻要關掉這個終端再另外開啟一個立馬就不行了。原因是我們本次終端中執行時的操作只是針對本終端,以後再開啟的終端並未被執行過這個命令所以沒匯出。

 

如何關掉這個終端再另外開啟一個終端頁行呢?

解決方案:vi .bashrc

進去之後在最後一行加一句

export PATH=/usr/local/arm/arm-2009q3/bin:$PATH  儲存退出即可。

注意:我們匯出這個環境變數是在當前使用者,如果你登入時在其他使用者下是沒用的