makefile问题:arm-linux-gcc编译报错“*.ofile not recognized: File format not recognized”

时间:2021-10-08 02:21:08
以下是我的Makefile 以及make时的报错。帮忙看下什么问题。

CC = /opt/FriendlyARM/toolschain/4.5.1/bin/arm-linux-gcc
CFLAGS = -g -g -Wall -O0 -I/home/embedclub/ws/sound/alsa-lib/include
LIBS = -L/home/embedclub/ws/sound/Test1 -lasound 
all:lplay lrecord

lplay: lplay.o sndwav_common.o wav_parser.o
$(CC) $(CFLAGS) lplay.o sndwav_common.o wav_parser.o -o lplay $(LIBS)
lplay.o: lplay.c  sndwav_common.h wav_parser.h
$(CC) $(CFLAGS) -c lplay.c  

lrecord: lrecord.o sndwav_common.o wav_parser.o
$(CC) $(CFLAGS) lrecord.o sndwav_common.o wav_parser.o -o lrecord $(LIBS)
lrecord.o: lrecord.c sndwav_common.h  wav_parser.h
$(CC) $(CFLAGS) -c lrecord.c 

sndwav_common.o: sndwav_common.c sndwav_common.h
$(CC) $(CFLAGS) -c sndwav_common.c 

wav_parser.o: wav_parser.c wav_parser.h
$(CC) $(CFLAGS) -c wav_parser.c

clean:
rm lplay lrecord *.o



root@embedclub@embedclub TEST1]# make
/opt/FriendlyARM/toolschain/4.5.1/bin/arm-linux-gcc -g -g -Wall -O0 -I/home/embedclub/ws/sound/alsa-lib/include lplay.o sndwav_common.o wav_parser.o -o lplay -L/home/embedclub/ws/sound/Test1 -lasound 
lplay.o: file not recognized: File format not recognized
collect2: ld returned 1 exit status
make: *** [lplay] 错误 1

3 个解决方案

#1


make clean后再编译看看

#2


file lplay.o 看看什么格式的

#3


引用 1 楼 jklinux 的回复:
make clean后再编译看看
解决了,之前用gcc生成的.o文件,然后直接用arm-linux-gcc再make就出错了,很傻的错误。。。

#1


make clean后再编译看看

#2


file lplay.o 看看什么格式的

#3


引用 1 楼 jklinux 的回复:
make clean后再编译看看
解决了,之前用gcc生成的.o文件,然后直接用arm-linux-gcc再make就出错了,很傻的错误。。。