项目场景:
提示:这里简述项目相关背景:
linux项目编译时报错如下:
mips-v720s229-linux-gnu-strip:/home/lib/libgcc_s.so: File format not recognized Makefile:99: *** missing separator. Stop.
原因分析:
【1】mips-v720s229-linux-gnu-strip:/home/lib/libgcc_s.so: File format not recognized错误:
这个错误通常表示目标文件不是有效的二进制文件或不是所需的目标文件类型,这可能是由于编译器或链接器的版本不兼容,或者目标文件已被损坏。
【2】Makefile:99: *** missing separator. Stop.错误:
这个错误通常表示在Makefile中存在语法错误,一般是由于缩进不正确或缺少冒号等Makefile规则引起的。
解决方案:
【1】问题解决方法:
解决此问题的方法包括:
确认编译器和链接器的版本兼容,并使用相同的工具链编译和链接程序;
检查目标文件是否已被损坏,如果是,请使用正确的版本进行替换;
检查目标文件是否由其他操作系统或架构生成,如果是,请重新生成适用于目标系统的文件。
【2】问题解决方法:
解决此问题的方法包括:
检查Makefile文件中的语法错误,特别是冒号和缩进问题;
检查Makefile规则是否正确:例如,在每个命令前都必须有一个标签+冒号;
如果使用的是Tab字符,确保该Tab字符的宽度正确,并确保不要使用空格代替Tab字符。
总结
通过排查这两个问题,能够成功解决编译和链接程序时的错误。