在linux中使用make编译文件后执行./main.o,出现了bash: ./main.o: cannot execute binary file: Exec format error的错误。
解决方法:
将malefile中的
TARGET := main.o
改为:
TARGET := test.o
然后在make后,执行./test.o。完全ok.
原因分析:因为在makefile中已经有了文件main.c生成对应的main.o的目标文件。如下:
C_OBJS += $(MAIN_PATH)main.o
然而,最终的目标文件也和main.o文件名相同。所以出现了这个问题。

本文介绍在Linux环境中使用make编译后遇到“cannot execute binary file: Exec format error”错误的原因及解决方法。主要是在makefile中目标文件名与预设执行文件名冲突导致,通过更改目标文件名为test.o并重新编译即可解决问题。
583

被折叠的 条评论
为什么被折叠?



