什麼是交叉編譯?

2021-06-06 21:04:27 字數 1452 閱讀 1252

ok,這裡來到了重點。我們知道了什麼是交叉編譯環境,那我們到底應該怎麼開始呢?

網上有很多建立交叉編譯環境的傻瓜教程,比如:

ibm的《

如何為嵌入式開發建立交叉編譯環境》

huihoo的

一步一步的製作arm-linux交叉編譯環境》 ,,

,有幾款公認的比較穩定的版本:

一般我們編譯程式和編譯器的版本沒有關係,不乏特殊情況,比如在移植qtopia4.x.x的時候,官方文件

就要求使用3.2.x以上的編譯器。另外,如果編譯過程中遇到了很奇怪的問題無法解決時,可以考慮換乙個編

譯器版本試試。

下面我們以arm-linux-gcc-3.4.1為例介紹交叉編譯環境的建立。

$ cd /work/src

$ wget arm-linux-gcc-3.4.1.tar.bz2

$ cd /usr/local

$ tar jxf /work/src/arm-linux-gcc-3.4.1.tar.bz2

建議不要使用tar的"v"引數,如果解壓的檔案比較大的話,使用"v"引數與不使用這個引數的解壓速度有很大區別。

$ mv usr/local/arm ./

$ ls usr/local/arm/3.4.1/bin/

arm-linux-addr2line  arm-linux-cpp        arm-linux-gcov     arm-linux-ranlib

arm-linux-ar         arm-linux-g++        arm-linux-ld       arm-linux-readelf

arm-linux-as         arm-linux-gcc        arm-linux-nm       arm-linux-size

arm-linux-c++        arm-linux-gcc-3.4.1  arm-linux-objcopy  arm-linux-strings

arm-linux-c++filt    arm-linux-gccbug     arm-linux-objdump  arm-linux-strip

為了方便,我們需要把這個資料夾加到系統變數`path`裡面,這樣我們就可以像使用系統變數一樣使用

這些命令了。編輯`~/.bashrc`,這個檔案是隱藏檔案,當使用者登入時就會首先執行這個檔案,因此我們

可以把設定環境變數的命令寫進去。

$ echo "export path=$path:/usr/local/arm/3.4.1/bin" >> ~/.bashrc

$ source ~/.bashrc

到此為止,我們的交叉編譯器就算搞定了,是不是不是想象中的那麼難?^_^

什麼是交叉編譯?

在一種計算機環境中執行的編譯程式,能編譯出在另外一種環境下執行的 我們就稱這種編譯器 支援交叉編譯。這個編譯過程就叫交叉編譯 簡單地說,就是在乙個平台上生成另乙個平台上的可執行 這裡需要注意的是所謂平台,實際上包含兩個概念 體系結構 architecture 作業系統 operating syste...

什麼是交叉編譯

交叉編譯的概念是隨著嵌入式系統的發展進化出來的。我們平常接觸到的桌面應用軟體一般是在桌面整合開發環境,比如visual c 中編寫 通過編譯生成可執行程式。桌面軟體開發一般是在a類機器 linux windows 開發 編寫源 編譯得到可執行檔案 然後在a類機器執行,這是非嵌入式開發模式。嵌入式開發...

什麼是交叉編譯,為什麼要使用交叉編譯

一 什麼是交叉編譯 在一種計算機環境中執行的編譯程式,能編譯出在另外一種環境下執行的 我們就稱這種編譯器支援交叉編譯。這個編譯過程就叫交叉編譯。簡單地說,就是在乙個平台上生成另乙個平台上的可執行 這裡需要注意的是所謂平台,實際上包含兩個概念 體系結構 architecture 作業系統 operat...