博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mips-linux-gcc交叉编译工具链搭建小结【转】
阅读量:5945 次
发布时间:2019-06-19

本文共 1548 字,大约阅读时间需要 5 分钟。

hot3.png

这几天开始做毕业设计了,MPEG2解码的MIPS实现,代码啥的网上一大堆,最大的困难也许不是理解代码,而是搭建环境,也就是搭建mips-linux-gcc交叉编译的环境。

网上铺天盖地的都是arm-linux-gcc工具链的教程,唯独MIPS这一块资料很是匮乏,就连极少数的几篇讲搭建工具链的博文都是互相copy的。

两天一夜,终于把工具链给搞定了,期间的痛苦也只有自己能体会,那是一种在茫茫大海中寻求救援的无助感。每次碰到问题,问谷歌或百度大部分回答都是 牛头不对马嘴,有些人可能相对严谨的解决,但也不能做到面面俱到。事实上,对于我们这种新手,最大的帮助就是面面俱到:对可能遇到的问题都有合理的解释和 解决方法。但实际中,往往是为了解决一个小问题,反而引来许多一连串莫名其妙的问题,很是挠人。

废话就这么多。

下面介绍我本次安装交叉编译工具链的过程。

起初试了传说中高端牛逼的buildroot工具,该工具能够配置各种硬件平台的编译工具、交叉编译工具链等等,只有你想不到,没有它做不到,但是 高端的工具往往会带来一个副作用:低端人士基本不会用。我就是活生生的例子,从昨天上午8点30分开始,一直到下午5点,期间不吃不喝几乎都忘了上厕所, 最后还是没搞出来。后来相继尝试了许多方法,也都以失败告终。

最后没办法,决定直接用别人做好的工具链, ftp://ftp.linux-mips.org/pub/linux/mips/people/macro/RPMS 在这个ftp服务器上,我找到了我需要的工具

首先我们的PC机是i386架构的,所以就进i386的目录下,

这里有许多mips打头的rpm包,这些就是我们需要的工具链!

这时我们可以根据你所使用的mips处理器是大端或小端来下载所需的工具,大端的工具都是以mips开头的,而小端都是以mipsel开头。

最后我们需要下载的是这几个包:

mips-linux-binutils-x.xx.x-x.i386.rpm

mips-linux-gcc-x.xx.x-x.i386.rpm

mips-linux-gcc-c-x.xx.x-x.i386.rpm

mips-linux-gcc-cpp-x.xx.x-x.i386.rpm

mips-linux-sim-x.xx.x-x.i386.rpm

这几个工具装好之后,我们就可以写个helloworld测试一下了:

#include 
void main(){    printf("Hello World!\n");  }

然后执行:

mips-linux-gcc hello.c -o hello

编译失败了。提示说找不到stdio.h,这是因为我们PC上并没有对应mips的动态链接库,所以我们编译的时候还需要加上静态选型

mips-linux-gcc -g hello.c -o hello -static

但是执行这句后,我们还是失败了。

提示还是老样子。

解决办法:我们还需下载一个静态库文件的包,有了这个包,我们的静态编译才能通过。

在ftp://ftp.linux-mips.org/pub/linux/mips/people/macro/RPMS/noarch/下面找到

mips-linux-glibc-devel-x.x.xx.noarch.rpm

mips-linux-glibc-static-x.x.xx.noarch.rpm

安装完这两个之后就大功告成了,重新执行上面的编译命令,成功编译出可执行文件。当然,这个可执行文件得用mips仿真器才能运行。

转载于:https://my.oschina.net/dancing/blog/207619

你可能感兴趣的文章
SQL Server代理(3/12):代理警报和操作员
查看>>
基于事件驱动的DDD领域驱动设计框架分享(附源代码)
查看>>
Linux备份ifcfg-eth0文件导致的网络故障问题
查看>>
2018年尾总结——稳中成长
查看>>
JFreeChart开发_用JFreeChart增强JSP报表的用户体验
查看>>
度量时间差
查看>>
通过jsp请求Servlet来操作HBASE
查看>>
crontab执行shell脚本日志中出现乱码
查看>>
Shell编程基础
查看>>
Shell之Sed常用用法
查看>>
3.1
查看>>
校验表单如何摆脱 if else ?
查看>>
JS敏感信息泄露:不容忽视的WEB漏洞
查看>>
分布式memcached服务器代理magent安装配置(CentOS6.6)
查看>>
Create Volume 操作(Part III) - 每天5分钟玩转 OpenStack(52)
查看>>
tomcat 8.0虚拟机配置文档
查看>>
pxc群集搭建
查看>>
JS中加载cssText延时
查看>>
常用的脚本编程知识点
查看>>
计算机网络术语总结4
查看>>