使用此 makefile 时
compile: scanner.o listing.o
g++ -o compile scanner.o listing.o
scanner.o: scanner.c listing.h tokens.h
g++ -c scanner.c
scanner.c: scanner.l
flex scanner.l
mv lex.yy.c scanner.c
listing.o: listing.cc listing.h
g++ -c listing.cc
我收到这些错误,可能是什么问题?
jeannetteadorante@LAPTOP-CIB2C03C:~$ make
g++ -o compile scanner.o listing.o
/usr/bin/ld:listing.o: file format not recognized; treating as linker script
/usr/bin/ld:listing.o:5: syntax error
`collect2: error: ld returned 1 exit status
make: *** [makefile:2: compile] Error 1
jeannetteadorante@LAPTOP-CIB2C03C:~$
使用 Ubuntu,我尝试运行 makefile 并收到以下错误
关于
make
的事情是,它的决定基于按原样使用什么以及根据文件的 timestamps 重新编译什么。 它无法确定任何中间文件是否实际上有效或已以某种方式损坏 - 只要中间文件比其所有依赖项更新,它将按原样使用。