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...