linux交叉编译aix_mips-linux-gcc交叉编译工具链搭建小结【转】
這幾天開(kāi)始做畢業(yè)設(shè)計(jì)了,MPEG2解碼的MIPS實(shí)現(xiàn),代碼啥的網(wǎng)上一大堆,最大的困難也許不是理解代碼,而是搭建環(huán)境,也就是搭建mips-linux-gcc交叉編譯的環(huán)境。
網(wǎng)上鋪天蓋地的都是arm-linux-gcc工具鏈的教程,唯獨(dú)MIPS這一塊資料很是匱乏,就連極少數(shù)的幾篇講搭建工具鏈的博文都是互相copy的。
兩天一夜,終于把工具鏈給搞定了,期間的痛苦也只有自己能體會(huì),那是一種在茫茫大海中尋求救援的無(wú)助感。每次碰到問(wèn)題,問(wèn)谷歌或百度大部分回答都是 牛頭不對(duì)馬嘴,有些人可能相對(duì)嚴(yán)謹(jǐn)?shù)慕鉀Q,但也不能做到面面俱到。事實(shí)上,對(duì)于我們這種新手,最大的幫助就是面面俱到:對(duì)可能遇到的問(wèn)題都有合理的解釋和 解決方法。但實(shí)際中,往往是為了解決一個(gè)小問(wèn)題,反而引來(lái)許多一連串莫名其妙的問(wèn)題,很是撓人。
廢話就這么多。
下面介紹我本次安裝交叉編譯工具鏈的過(guò)程。
起初試了傳說(shuō)中高端牛逼的buildroot工具,該工具能夠配置各種硬件平臺(tái)的編譯工具、交叉編譯工具鏈等等,只有你想不到,沒(méi)有它做不到,但是 高端的工具往往會(huì)帶來(lái)一個(gè)副作用:低端人士基本不會(huì)用。我就是活生生的例子,從昨天上午8點(diǎn)30分開(kāi)始,一直到下午5點(diǎn),期間不吃不喝幾乎都忘了上廁所, 最后還是沒(méi)搞出來(lái)。后來(lái)相繼嘗試了許多方法,也都以失敗告終。
最后沒(méi)辦法,決定直接用別人做好的工具鏈,?ftp://ftp.linux-mips.org/pub/linux/mips/people/macro/RPMS?在這個(gè)ftp服務(wù)器上,我找到了我需要的工具
首先我們的PC機(jī)是i386架構(gòu)的,所以就進(jìn)i386的目錄下,
這里有許多mips打頭的rpm包,這些就是我們需要的工具鏈!
這時(shí)我們可以根據(jù)你所使用的mips處理器是大端或小端來(lái)下載所需的工具,大端的工具都是以mips開(kāi)頭的,而小端都是以mipsel開(kāi)頭。
最后我們需要下載的是這幾個(gè)包:
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
這幾個(gè)工具裝好之后,我們就可以寫(xiě)個(gè)helloworld測(cè)試一下了:
#include?
void?main()
{
printf("Hello?World!\n");
}
然后執(zhí)行:
mips-linux-gcc?hello.c?-o?hello
編譯失敗了。提示說(shuō)找不到stdio.h,這是因?yàn)槲覀働C上并沒(méi)有對(duì)應(yīng)mips的動(dòng)態(tài)鏈接庫(kù),所以我們編譯的時(shí)候還需要加上靜態(tài)選型
mips-linux-gcc?-g?hello.c?-o?hello?-static
但是執(zhí)行這句后,我們還是失敗了。
提示還是老樣子。
解決辦法:我們還需下載一個(gè)靜態(tài)庫(kù)文件的包,有了這個(gè)包,我們的靜態(tài)編譯才能通過(guò)。
在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
安裝完這兩個(gè)之后就大功告成了,重新執(zhí)行上面的編譯命令,成功編譯出可執(zhí)行文件。當(dāng)然,這個(gè)可執(zhí)行文件得用mips仿真器才能運(yùn)行。
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的linux交叉编译aix_mips-linux-gcc交叉编译工具链搭建小结【转】的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: openvino安装小记
- 下一篇: window挂载到linux服务器上,在