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目录下,如下图:

原文地址:https://www.cnblogs.com/qwertwwwe/p/5857052.html