我最近在我的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
我想知道我可能在某些方面犯了一些错误,但我无法理解。
也许有些人可以帮助我,我对此问题感到困惑。
答案 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页面,距离您提供的链接只有一层:
答案 1 :(得分:1)
看起来mips-linux-gnu-gcc
二进制文件与您尝试运行它的计算机的体系结构不匹配。这可能类似于32/64位不匹配。
尝试使用免费的Mentor / Codesourcery MIPS gnu / gcc交叉编译工具链。您可以从here下载。