zoukankan      html  css  js  c++  java
  • 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目录下,如下图:

  • 相关阅读:
    Python Ethical Hacking
    Python Ethical Hacking
    Python Ethical Hacking
    AcWing 1049. 大盗阿福 状态机模型dp
    AcWing 11. 背包问题求方案数
    AcWing 10. 有依赖的背包问题
    AcWing 7. 混合背包问题
    AcWing 532. 货币系统
    2018-2019 ACM-ICPC, Asia East Continent Final L Eventual … Journey
    AcWing 487. 金明的预算方案
  • 原文地址:https://www.cnblogs.com/qwertwwwe/p/5857052.html
Copyright © 2011-2022 走看看