linux交叉编译aix_mips-linux-gcc交叉编译工具链搭建小结【转】

这几天开始做毕业设计了,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服务器上,我找到了我需要的工具

7edd03afbaef25ca54dc46ff7fc547d0.png

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

f4ff9e3b107caa1c4720165bd8c47b23.png

这里有许多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仿真器才能运行。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/487895.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

单链表的头插法和尾插法c语言实现

/*单链表的头插法和尾插法c语言实现*/ #include <stdio.h>#include <stdlib.h>#include <string.h>#define SIZE 100/*简单的定义一个链表节点的数据单元*/typedef struct student_t{ int num; char name[SIZE]; struct student_t* pNext;}studentList, *pSt…

ICLR认知科学@AI workshop一览

来源&#xff1a; 混沌巡洋舰今年ICLR2020顶会有一个特别有意思的专题&#xff0c; 叫认知科学与AI顶会专题。在当下深度学习愈发进入瓶颈期的时代&#xff0c;认知科学和AI的交叉成为大势所趋。一方面我们希望把认知科学或心理学的知识用起来直接指导AI&#xff0c;另一方面我…

谷歌AI公布新项目:未来你的宠物可能真的会是“机器”狗!

From: Tech Crunch; 作者&#xff1a;Iris????或许你曾留心过狗是怎么行走的——它们走起路来肌腱运动流畅&#xff0c;步履灵活&#xff0c;并不必去思考下一步要怎么走&#xff0c;走路这个动作是自然而然发生的事情。而同样的动作&#xff0c;机器狗能够处理得这样自然吗…

java王大拿谢大脚_《乡村爱情1》:“王大拿”赵本山有3大亮点,追谢大脚根本不算啥...

《乡村爱情》第一部其实导演并不是赵本山&#xff0c;那时候的他和该剧的导演张惠中是好友关系&#xff0c;里面的各大主演除了“王小蒙”王亚彬外其余都是以赵本山的徒弟为主&#xff0c;很多人都是冲着赵本山的名气来观看这部剧的。其实赵本山在《乡村爱情》第一部中饰演的“…

记忆的天空:智能进化三部曲

作者&#xff1a;钟振余&#xff0c;宁波大学 相对于人工智能的快速发展&#xff0c;人类对于生命智能的理解显得很肤浅。由于缺失大脑活动原理的理论指导&#xff0c;人们只能用知识考试去评判一个人的智能&#xff0c;用相当于几岁孩子的智能去比对某些高级动物的智能。事实上…

收藏!机器学习算法分类图谱及其优缺点综合分析

来源&#xff1a;必达智库近日&#xff0c;Coggle对各类机器学习算法进行了归纳整理&#xff0c;形成了一个较为完整的机器学习算法分类图谱&#xff0c;并对每一类算法的优缺点进行了分析。具体分类如下&#xff1a;正则化算法&#xff08;Regularization Algorithms&#xff…

StringBuilder String string.Concat 字符串拼接速度再议

首先看测试代码&#xff1a; 1 public class StringSpeedTest2 {3 private readonly static string _testStr "0123456789";4 5 public string StringAdd(int count)6 {7 string str string.Empty;8 for (i…

特斯拉Autopilot事故频发,真正意义上自动驾驶还要多久问世?

这并不是特斯拉 Autopilot 首次发生事故致死案例。来源&#xff1a;未来汽车科技的新能源汽车更替传统汽车是时代趋势&#xff0c;作为业内先驱&#xff0c;身处聚光灯下的特斯拉不可避免会受到大众关注&#xff0c;例如涉及它的每一次交通安全事件从不会在媒体报道中缺席。据外…

BDD 与DSL 入门

正文&#xff1a; Behavior Driven Development&#xff0c;行为驱动开发是一种敏捷软件开发的技术&#xff0c;它鼓励软件项目中的开发者、QA和非技术人员或商业参与者之间的协作。在了解Behavior Driven Development之前&#xff0c;先介绍Test-Driven Development(TDD)即测试…

CICC科普栏目|颠覆认知!看完这些图,你的世界观还好吗?

本文系网易新闻网易号“各有态度”特色内容部分资料来源于网络转自&#xff1a;超级数学建模接下来&#xff0c;仔细看下面的图与文字你会非常震撼……每天&#xff0c;地球上都有这么多的人在飞来飞去&#xff0c;就像下图中一样。▼图中圈圈里头的人口&#xff0c;比其他地区…

RISC-V会彻底改变计算吗?

来源&#xff1a;内容由半导体行业观察&#xff08;ID&#xff1a;icbank&#xff09;编译自「ACM」&#xff0c;谢谢。微处理器的开放指令集有望重塑计算&#xff0c;并引入新的、更强大的功能。现代计算机依靠许多元件来提供高速和高性能&#xff0c;但是很少有比一台精简的指…

干货|六维力和力矩传感器的技术与应用

来源&#xff1a;机器人大讲堂六维力和力矩传感器是一种提供三轴力和三轴力矩反馈的设备&#xff0c;并广泛应用在机器人控制、力学实验和科研等不同的场景中。不同于其他常见的测力仪器&#xff0c;六维力和力矩传感器可以测量完整的六自由度环境力数据&#xff0c;从而使其适…

Spark笔记——技术点汇总

Spark笔记——技术点汇总 目录 概况 手工搭建集群 引言 安装Scala 配置文件 启动与测试 应用部署 部署架构 应用程序部署 核心原理 RDD概念 RDD核心组成 RDD依赖关系 DAG图 RDD故障恢复机制 Standalone模式的Spark架构 YARN模式的Spark架构 应用程序资源构建…

人工智能正在推动芯片的复兴

来源丨Forbes作者丨Rob Toews编译丨科技行者半导体是数字时代的一项基础技术。美国硅谷的名字正是源自于此。过去半个世纪以来&#xff0c;计算技术的革命改变着社会的方方面面&#xff0c;而半导体技术正是这场革命的核心。自英特尔1971年推出全球第一个微处理器以来&#xff…

MEMS为何独领风骚?看完这篇秒懂!

显微镜下的MEMS结构&#xff08;注意图片上的刻度&#xff0c;是微米哦&#xff09;文章来源&#xff1a;硬件十万个为什么卡西欧早年就以电机马达、继电器等机电产品闻名。如今的卡西欧本身就是MEMS的制造商之一&#xff0c;用MEMS的思路解决传统机械手表遇到的问题是卡西欧的…

如何把我的Java程序变成exe文件?

JAVA是一种“跨平台”的语言&#xff0c;拥有“一次编写&#xff0c;处处运行”的特点&#xff0c;让它成为当今IT行业&#xff0c;必不可少的一门编程语言。每一个软件开发完成之后&#xff0c;应该大家都需要打包程序并发送给客户&#xff0c;常见的方式&#xff1a;java程序…

福布斯:混合现实未来的八大应用场景

来源&#xff1a;AR工业应用近日&#xff0c;福布斯发布了一篇关于混合现实未来的八个值得关注的领域和应用场景。文中提到&#xff1a;随着时间的推移&#xff0c;技术永远在不断进展&#xff0c;而未来技术中很可能是AR和VR的结合形式。有报告显示&#xff1a;2024年&#xf…

演化树,靠不住?挑战物种出现与灭绝速率的估算方法

来源&#xff1a;Nature自然科研原文作者&#xff1a;Mark Pagel以演化树形式绘制的图表能够显示物种之间的系统发育关系&#xff0c;这类图表被广泛用于估算新物种出现以及现存物种灭绝的速率&#xff0c;但一项新的研究对这种方法提出了质疑。科学家经常试图对生物的过去是什…

2020五大技术趋势一览!超自动化、人类增强技术、无人驾驶发展、机器视觉崛起、区块链实用化...

文章原载于 RichardLiu自动驾驶技术的发展近年来&#xff0c;自动驾驶技术一直在发展&#xff0c;特斯拉、英特尔等大公司在这一领域取得了长足的进展。虽然我们还没有达到L4级或L5级自动驾驶汽车的水平&#xff0c;但我们已经很接近了。为了解释每个级别的含义&#xff0c;下…

Facebook 开源聊天机器人Blender,经94 亿个参数强化训练,更具“人情味”

来源&#xff1a;AI前线作者 | Kyle Wiggers编译 | Sambodhi策划 & 编辑 | 刘燕不久前&#xff0c;Facebook 开源了号称是全球最强大的聊天机器人 Blender&#xff0c;它标志着 Facebook 在 AI 领域的新进展&#xff1a;新的聊天机器人不仅解决了此前聊天机器人的固有缺点&…