使用mips-linux-gnu-g++编译后的可执行文件,在mips内核上的板子上报错 syntax error

使用mips-linux-gnu-g++编译后的可执行文件,在mips内核上的板子上报错 syntax error

问题描述:

如题,本人处于嵌入式开发的入门阶段,现在的板子是mips内核的,在虚拟机上编写了一个“hello world”程序,但是编译后无法在板子上运行,板子的系统也是在同一个虚拟机上编译出来然后烧录进去的。

这是hello world的内容:

#include<iostream>
int main()
{
  std::cout<<"hello world"<<std::endl;
  return 0;
}

使用工具编译

img
查看可执行文件信息

img
然后使用adb传输到板子上

img

最后连接板子进行debug,运行刚才那个可执行文件

img

结果如上,没法运行,上网搜了,一般说这个问题是内核不配,编译出来的不是可执行文件什么的,都不是我这个问题的正解,搞了大半天了,实在找不到原因,求解。

问题解决了,因为使用的版本对mips-gnu-linux-g++的版本有特殊限制,然后板子自带的资源包里已经解压出来了该工具。所以最后卸载了安装好的mips-gnu-linux-g++,将资源包里的工具目录添加到PATH,然后用自带工具编译就可以了。

对了mips-gnu-linux-g++的版本是4.3.1