使用cross-3.3.2編譯器的問題
和Windows下的開發(fā)不同,嵌入式Linux開發(fā)顯得有些復(fù)雜。其實(shí)并不是復(fù)雜,而是我們面前的新知識(shí)有點(diǎn)多:Linux操作系統(tǒng)、交叉編譯器、庫、大小端、軟浮點(diǎn)...
本文引用地址:http://cafeforensic.com/article/148530.htm前幾天用cross-3.3.2編譯器編譯Linux-2.6.14內(nèi)核,就出現(xiàn)了鏈接錯(cuò)誤。對(duì)于初學(xué)者,這類非語法類錯(cuò)誤是非常難查的,所以我只能建議大家換編譯器版本。比如這個(gè)cross-3.3.2編譯器在編譯u-boot-1.3.1時(shí)就有問題出現(xiàn),但是沒想到在編譯2.6.14內(nèi)核的時(shí)候也能出現(xiàn)問題。你可以通過根據(jù)錯(cuò)誤提示,進(jìn)行代碼修改,但是這并不明智,這種做法就像拆東墻補(bǔ)西墻一樣,你無法保證沒有其他問題出現(xiàn)。
所以我還是建議大家:
1)在尚未了解lds語法以前,不要試圖進(jìn)行修改;
2)選擇新版本(不一定是最新)的編譯器。我一直使用的ELDK,編譯uboot、內(nèi)核移植沒有問題。最近還測(cè)試了arm-2008q1-126-arm-nONe-linux-gnueabi-i686-pc-linux-gnu.tar.bz2,效果也不錯(cuò)。
評(píng)論