ubuntu 下搭建MIPS交叉編譯環境


【參考原文】http://blog.csdn.net/gubenpeiyuan/article/details/7895469

 

  由於要在本地編譯程序,在嵌入式系統上運行,因此需要在本地裝編譯器,目前主要需要mipsel-linux-gcc。

  之前一直以為可以用apt-get install找到,結果找了好久找不到,發現還是得自己編。

  主要是參考上面的那個鏈接,然后這對自己需求改了改配置。

 

1. 環境

系統:Ubuntu 16.04

軟件: buildroot

該軟件可以編譯用於 mips, arm等等 的C編譯器。

 

2. 下載

wget http://buildroot.uclibc.org/downloads/snapshots/buildroot-snapshot.tar.bz2 

tar -jxvf buildroot-snapshot.tar.bz2

cd buildroot

也可以直接去官網 https://buildroot.org  下載最新的;

 

3. 配置buildroot   (重要)

make clean

make menuconfig

會出現選擇菜單,如下圖:

  

選擇第一項“Target Architecture”, 改成 MIPS (little endian)

 

 

另外,選擇“Toolchain”, 將"kernel headers"改成自己主機上的Linux版本(及運行改編譯器的主機)

可以在主機上通過   uname -r 或者  cat /proc/version查看。

 

原生的是只有gcc部分,沒有g++部分,需要對編譯C++程序,則在菜單里選擇 Enable c++選項(按 y 選取)。

 

 

用於編譯python的配置選項

我主要用這個來編譯python放在嵌入式設備系統上用,最開始就按照上面的選項,編譯一般的程序沒問題,

編譯python會出現:unknow type name 'wchar_t' 錯誤,這個需要在這里的工具里選幾個選項;

a1. 在配置里選擇對wchar的支持;

 

a2. 退出Target options,進入Target packages,在Target packages里再添加幾個選項

(這里我沒看不配置這個會出什么問題,這個里面到底做什么的,我直接按照

https://delog.wordpress.com/category/python/ 這個里面的配置弄了) 

 

  進入Interpreter lanaguages and scripting 選項,選擇python選項,然后吧core python modules里的都選了吧~(編譯一次太費時了,缺個什么又得重新編譯這個工具鏈)

 

配置完了后,保存,並退出。

 

4. 編譯

因為需要聯網下載一些文件,因此主機需要聯網;

需要提前安裝好 bision, flex, textinfo, ncurses等庫。

sudo apt-get install texinfo flex bison libncursesn5-dev patch gettext g++

 

然后 make -j  編譯。

 

5. 結果

最后的結果在 buildroot/output/host/usr/bin目錄下,如下圖:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM