共計 2074 個字符,預計需要花費 6 分鐘才能閱讀完成。
SUSE 10.1 交叉編譯環境的構建方法是什么,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
現在很多的人都在應用 SUSE,伴隨著的問題也隨之出現,我學習 SUSE 也有很長時間了,也有些小的心得體會。在這里和大家分享一下,今天所要說的是 SUSE 10.1 交叉編譯環境構建問題。crosstool 制作工具的鏈的方法很好,但是很浪費時間,因為編譯一次要數個小時,很是麻煩,也不適合初學者,下面介紹另一種 SUSE 10.1 交叉編譯環境構建方法。
1. 復制 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/ 是我的虛擬機和 windows 共享的目錄,關于怎樣和虛擬機共享文件,大家可以參考我的另一篇博文。
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 stdio.h
int main(void)
{
printf(Hello Arm Linux Gcc!\n
return 0;
}
執行下面的命令:
# arm-linux-gcc -o hello hello.c
有時會有如下的警告:
warning: no newline at end of file
英文的意思就是說文末沒有換行符。Unix 文檔的回車換行符是一個字符 \n,Windows 的是分別的兩個 \n\r,所以你在 Windows 下編輯的 *** 一個字符是 \r 不是 \n,所以編譯器以為有錯誤。在文件 *** 補一個新行即可。
源程序有錯誤的話會有提示,沒有任何提示的話,就是通過了,就可以下載到 ARM 目標板上運行了!
接著可以輸入 file hello 的命令,查看生成的 hello 文件的類型,要注意的是生成的可執行文件只能在 ARM 體系下運行,不能在其于 X86 的 PC 機上運行。
想要在 PC 機 linux 上運行,只需執行如下命令:
gcc hello.c -o hello
./hello
顯示打印結果,至此嵌入式的開發環境搭建完畢,這樣我們就可以輕松的應用了。
關于 SUSE 10.1 交叉編譯環境的構建方法是什么問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注丸趣 TV 行業資訊頻道了解更多相關知識。