自己動手安裝交叉編譯工具鏈
一、安裝步驟:
步驟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-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 儲存退出即可。
注意:我們匯出這個環境變數是在當前使用者,如果你登入時在其他使用者下是沒用的