闡述SUSE 10.1交叉編譯環(huán)境構(gòu)建方法
現(xiàn)在很多的人都在應(yīng)用SUSE,伴隨著的問題也隨之出現(xiàn),我學(xué)習(xí)SUSE也有很長時間了,也有些小的心得體會。在這里和大家分享一下,今天所要說的是SUSE 10.1交叉編譯環(huán)境構(gòu)建問題。crosstool制作工具的鏈的方法很好,但是很浪費(fèi)時間,因?yàn)榫幾g一次要數(shù)個小時,很是麻煩,也不適合初學(xué)者,下面介紹另一種SUSE 10.1交叉編譯環(huán)境構(gòu)建方法。
1.復(fù)制arm-linux-gcc-3.4.1.tar.bz2到“/”目錄
cp /mnt/hgfs/linux_tmp/arm-linux-gcc-3.4.1.tar.bz2
/ /mnt/hgfs/linux_tmp/是我的虛擬機(jī)和windows共享的目錄,關(guān)于怎樣和虛擬機(jī)共享文件,大家可以參考我的另一篇博文。
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 文件夾,進(jìn)入該文件夾
現(xiàn)在交叉編譯程序集都在/usr/local/arm/3.4.1/bin下面了
3.修改環(huán)境變量,把交叉編譯器的路徑加入到PATH。
修改的目的:系統(tǒng)默認(rèn)的gcc編譯器是arm-linux-gcc而不是gcc了,這點(diǎn)要認(rèn)識清楚
修改/etc/bash.bashrc文件
#vim /etc/bash.bashrc
在***加上:
export PATH=$PATH:/usr/local/arm/3.4.1/bin export PATH
4.立即使新的環(huán)境變量生效,不用重啟電腦:
#source /etc/bash.bashrc
5. 檢查是否將路徑加入到PATH:
# echo $PATH
顯示的內(nèi)容中有/usr/local/arm/bin,說明已經(jīng)將交叉編譯器的路徑加入PATH。至此,交叉編譯環(huán)境安裝完成。
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 <stdio.h>
int main(void)
{
printf("Hello Arm Linux Gcc!\n");
return 0;
}
執(zhí)行下面的命令:
# arm-linux-gcc -o hello hello.c
有時會有如下的警告:
warning: no newline at end of file
英文的意思就是說文末沒有換行符。Unix文檔的回車換行符是一個字符\n,Windows的是分別的兩個\n\r,所以你在Windows下編輯的***一個字符是\r不是\n,所以編譯器以為有錯誤。在文件***補(bǔ)一個新行即可。
源程序有錯誤的話會有提示,沒有任何提示的話,就是通過了,就可以下載到ARM目標(biāo)板上運(yùn)行了!
接著可以輸入file hello的命令,查看生成的hello文件的類型,要注意的是生成的可執(zhí)行文件只能在ARM體系下運(yùn)行,不能在其于X86的PC機(jī)上運(yùn)行。
想要在PC機(jī)linux上運(yùn)行,只需執(zhí)行如下命令:
gcc hello.c -o hello
./hello
顯示打印結(jié)果,至此嵌入式的開發(fā)環(huán)境搭建完畢,這樣我們就可以輕松的應(yīng)用了。希望本文會對大家的學(xué)習(xí)有幫助!
【編輯推薦】
- 詳解Suse 10安裝nfs步驟
- “第三次革命”:SUSE Linux Enterprise 11
- 學(xué)習(xí)手冊:Open Suse簡介
- Suse造就山寨版Chrome
- 述:Suse FAQ設(shè)定ftp服務(wù)