SUSE 10 1下交叉編譯環境構建

2021-05-02 04:14:13 字數 2285 閱讀 3083

蒙洋,華清遠見嵌入式學院

講師。書中介紹的crosstool製作工具的鏈的方法很好,但是很浪費時間,因為編譯一次要數個小時,很是麻煩,也不適合初學這,這裡的方法是書中3.2節提到的第一種方法,很簡單,但是正如書中所說,不是自己定製的受到侷限不是很理想,但對我們的開發這已經足夠用了。建議大家還是先選用這種方法,至於自己製作的方法有興趣的兄弟可以和我討論哦!

1.複製arm-linux-gcc-3.4.1.tar.bz2到「/」目錄

cp /mnt/hgfs/linux_tmp/arm-linux-gcc-3.4.1.tar.bz2

2.解壓 arm-linux-gcc-3.4.1.tar.bz2

#tar -jxvf arm-linux-gcc-3.4.1.tar.bz2

解壓過程需要一段時間,解壓後的檔案形成了 usr/local/arm/3.4.1/bin 資料夾,進入該資料夾

現在交叉編譯程式集都在/usr/local/arm/3.4.1/bin下面了

3.修改環境變數,把交叉編譯器的路徑加入到path。

修改的目的:系統預設的gcc編譯器是arm-linux-gcc而不是gcc了,這點要認識清楚

修改/etc/bash.bashrc檔案

#vim /etc/bash.bashrc

在最後加上:

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

4.立即使新的環境變數生效,不用重啟電腦:

#source /etc/bash.bashrc

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

# echo $path

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

6.測試是否安裝成功

mengyang:/ # arm-linux-gcc -v

上面的命令會顯示arm-linux-gcc資訊和版本,這是我顯示的資訊: mengyang:/ # arm-linux-gcc -v

reading specs from /usr/local/arm/3.4.1/lib/gcc/arm-linux/3.4.1/specs

configured

with:   /work/crosstool-0.27/build/arm-linux/gcc-3.4.1-glibc-2.3.2/gcc-3.4.1/configure

--target=arm-linux

--host=i686-host_pc-  linux-gnu

--prefix=/usr/local/arm/3.4.1

--with-headers=/usr/local/arm/3.4.1/arm-linux/include

--with-local-  prefix=/usr/local/arm/3.4.1/arm-linux

--disable-nls

--enable-threads=posix

--enable-symvers=gnu

--enable-__cxa_atexit

--enable-languages=c,c++

--enable-shared

--enable-c99

--enable-long-long

thread model: posix

gcc version 3.4.1

7.編譯hello world程式,測試交叉工具鏈

寫下下面的hello world程式,儲存為 hello.c

#include

int main(void)

執行下面的命令:

# arm-linux-gcc -o hello hello.c

有時會有如下的警告:

warning: no newline at end of file

英文的意思就是說文末沒有換行符。unix文件的回車換行符是乙個字元/n,windows的是分別的兩個/n/r,所以你在windows下編輯的最後乙個字元是/r不是/n,所以編譯器以為有錯誤。在檔案最後補乙個新行即可。

接著可以輸入file hello的命令,檢視生成的hello檔案的型別,要注意的是生成的可執行檔案只能在arm體系下執行,不能在其於x86的pc機上執行。

想要在pc機linux上執行,只需執行如下命令:

gcc hello.c -o hello

./hello

顯示列印結果

至此嵌入式的開發環境搭建完畢,希望可以幫助大家!

ubuntu下安裝交叉編譯環境

操作環境 ubuntukylin 13.0.4 gcc 版本 3.4.1 開啟終端 進入超級使用者模式 進入到gcc 當前的目錄下 解壓縮 tar jxvd home xuxiong toolchain cross 3.4.1.tar.bz2 c 在 usr local 下可以看到 arm 資料夾 ...

ubuntu下交叉編譯環境構建

ubuntu下交叉編譯環境構建 arm linux gcc 3.4.1.tar.bz2 在最後加上 export path path usr local arm 3.4.1 bin export path 如果不能編輯,先修改相關檔案的許可權使用chmod命令。方法二 修改 etc profile檔...

docker下交叉編譯環境配置

為什麼在docker中搭建開發環境?docker 是乙個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到乙個可移植的容器中,然後發布到任何流行的 linux 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何介面。意思是我們在乙個docker中配置好開發環境,把容器打包後...