为Mips架构编译C语​​言

时间:2013-06-09 05:47:13

标签: c gcc compiler-errors mips cross-compiling

我已经看过几种方法可以做到这一点(到目前为止,我没有尝试过一对,但我想要轻松地隔离这一个)

应该有一种方法来做这个VIA gcc我更喜欢这个我只是一直打墙。

我正在使用debian7并且可以使用其他任何风味的东西(我暂时想要避免qemu casue我想要更小规模的东西。) 我在这里找到这个例子。

http://moozing.wordpress.com/2011/04/05/cross-compile-in-debian/

我已经能够做所有事情,在部分时间我必须安装 用于继续的libgmp3c2-dummy_1.0_all.deb

刚才我需要编译,所有我编译的都是一个简单的hello world脚本但是,编译时我不能导致libgmp.so.3不在/ usr / lib / dir但是,有一个在/ usr / lib / mips-linux-gnu-gcc文件夹我以为我会复制它以查看是否可以编译它,我得到的是这个elf文件是用big-endian编码的,这是有道理的。但是我在编译这个文件时缺少什么呢?

我尝试将这个东西编译成大端,我认为要么是我对库的混淆,要么是我需要一个不同的libgmp.so.3 ..

我也尝试了apt-get install libgmp-dev libgmp3-dev。

感谢您的帮助,如果可以的话! :)如果你知道一个简单的方法来做这个不会占用我的机器上的一堆空间然后我是开放但我想尝试与GCC和使用工具链。

谢谢!

3 个答案:

答案 0 :(得分:7)

我设法在Debian中编译MIPS。 编辑我想改进这个答案,以方便他人使用......

    1. deb http://www.emdebian.org/debian stable main to /etc/apt/sources.list 

    2. apt-get update.

    3. install libgmp3c2 from https://packages.debian.org/squeeze/libgmp3c2

    4. apt-get install gcc-4.3-mips-linux-gnu libgmp3c2-mips-cross this worked

然后只是mips-linux-gnu-gcc file.c -o executable

就是这样。

PS如果您正在使用路由器....在编译时使用-static选项。 所以最后它看起来像

mips-linux-gnu-gcc -EB -march=34kc -static test.c -o test

如果您无法识别密钥环公钥,请使用可以使用apt安装的emdebian-archive-keyring包。

答案 1 :(得分:2)

为什么不安装免费的Mentor/Codesourcery gcc MIPS交叉编译器,而不是尝试从头开始构建一个?

如果安装了MIPS交叉编译器,则应在相应的交叉编译器目录中安装MIPS库,并在/usr/lib目录中安装 not 以用于主机Linux安装。您无法使用apt-get尝试安装MIPS库,因为该工具只能为您的主机Linux安装安装库。

答案 2 :(得分:0)

您可以参考这篇文章Setting up cross-compiler for MIPS-I version 1,因为它似乎是您问题的最简单的解决方案,因为您只想简单地交叉编译MIPS(参考他对问题的回答)。注意我还没有真正测试过它。

我已经构建了GCC,以便从我的ARM处理器中显示MIPS汇编中的源代码,但我似乎无法找到该指南。但是你也可以考虑构建gcc来进行交叉编译。我会在几天内更新这篇文章,因为这引起了我写一个简单的HOWTO设置MIPS交叉编译器的兴趣。