3

我最近mips-linux-gnu-gcc在我的 linux 机器上安装了一个基于 i686 的交叉工具。当我想编译一些代码时,它向我显示了那个错误。

每个安装步骤之后都是http://developer.mips.com/tools/compilers/open-source-toolchain-linux/

安装 crosstool 后,我编写了一个简单的 helloworld C 文件,如下所示:

    #include<stdio.h>
    int main(void)
    {
        printf("Hello World!\n");
        return 0;
    }

但是当我运行时:

    /mips-linux-gnu-gcc hello.c -o hello -static

编译器只是打印错误:

    bash: ./mips-linux-gnu-gcc: cannot execute binary file

我想知道也许我在某些步骤中犯了一些错误,但我无法弄清楚。

也许你们中的一些人可以帮助我,我对这个问题感到困惑。

4

2 回答 2

7

您从 MIPS 下载的编译器是 64 位可执行文件。您正在运行 32 位主机吗?

如果您需要针对 MIPS GNU/Linux 的 32 位主机的交叉编译器,请考虑为 MIPS GNU/Linux 目标使用 Sourcery CodeBench Lite 编译器:

适用于 MIPS GNU/Linux 的 Sourcery CodeBench Lite

上面 Sourcery CodeBench 工具的链接来自 MIPS 页面,仅比您提供的链接高一级:

MIPS 编译器页面

于 2012-12-06T22:21:29.607 回答
1

看起来mips-linux-gnu-gcc二进制文件与您尝试运行它的机器的体系结构不匹配。这可能类似于 32/64 位不匹配。

尝试改用免费的 Mentor/Codesourcery MIPS gnu/gcc 交叉编译工具链。你可以从这里下载。

于 2012-12-06T22:02:24.110 回答