bash:./ mips-linux-gnu-gcc:无法执行二进制文件错误

时间:2012-12-06 04:12:35

标签: gcc mips toolchain

我最近在我的linux机器上安装了mips-linux-gnu-gcc crosstool,它基于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

我想知道我可能在某些方面犯了一些错误,但我无法理解。

也许有些人可以帮助我,我对此问题感到困惑。

2 个答案:

答案 0 :(得分:7)

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

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

Sourcery CodeBench Lite for MIPS GNU/Linux

上面的Sourcery CodeBench工具链接来自MIPS页面,距离您提供的链接只有一层:

MIPS Compilers Page

答案 1 :(得分:1)

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

尝试使用免费的Mentor / Codesourcery MIPS gnu / gcc交叉编译工具链。您可以从here下载。