1. 程式人生 > >三.在linux上安裝交叉編譯環境

三.在linux上安裝交叉編譯環境

我使用的是友善之臂的開發板,配套光碟資料,在光碟資料的 友善之臂tiny4412-A資料夾下的linux資料夾中有交叉編譯工具:arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz。將這個工具包通過samba伺服器拷貝到linux系統下。然後解壓。

1.解壓交叉編譯工具鏈

tar -xzvf arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz

2.在/usr/local資料夾下建立arm資料夾

sudo mkdir /usr/local/arm

3.將解壓後的工具鏈移動到剛建立的arm資料夾下

sudo rm /home/ywl/opt/FriendlyARM/toolschain/4.5.1 /usr/local/arm

4.修改環境變數

vim /etc/profile

新增arm-linux-gcc的路徑。在開啟的profile檔案中新增  export PATH=$PATH:/usr/local/arm/4.5.1/bin,儲存退出

更新profile檔案,使其馬上生效

source /etc/profile

5.測試工具鏈是否安裝成功

在ywl資料夾下新建a.c檔案,並新增輸出hello world的程式碼。

執行工具鏈

arm-linux-gcc a.c

提示錯誤:[email protected]:/home/ywl$ -bash: /usr/local/arm/4.5.1/bin/arm-linux-gcc: No such file or directory

解決辦法:linux安裝的是ubuntu1604版本,是64位系統,而交叉編譯工具鏈是32位的,因此需要安裝32位庫

sudo apt-get install lib32ncurses5

安裝完成重新執行編譯命令

arm-linux-gcc a.c

提示錯誤:/usr/local/arm/4.5.1/bin/../lib/gcc/arm-none-linux-gnueabi/4.5.1/../../../../arm-none-linux-gnueabi/bin/as: error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory

解決辦法: sudo apt-get install lib32z1

再重新執行 arm-linux-gcc a.c,編譯成功