我已经完成的工作:

我浏览了其他具有类似问题的StackOverflow线程,但是似乎没有一个适用于我的特定情况。我也仔细检查了一下,以确保正确的文件位于正确的位置(文件夹),以及所有文件的名称也正确。

这是我收到的错误:

[[email protected]]$ make
g++ -Wall -O2 -ansi -pedantic -o dog.cpp
g++: fatal error: no input files
compilation terminated.
make: *** [mscp.o] Error 4

这是有问题的makefile:
CC = g++
CFLAGS = -Wall -O2 -ansi -pedantic -Werror

TARGETS = dog dog.o collar.o

dog: dog.o collar.o
    $(CC) $(CFLAGS) -o dog collar.o dog.o

dog.o: dog.cpp collar.h
    $(CC) $(CFLAGS) -o dog.cpp

collar.o: collar.cpp collar.h
    $(CC) $(CFLAGS) -o collar.cpp

clean:
    -rm -f ${TARGETS}

这是makefile引用的文件(它们都在同一目录中):
-collar.cpp
-collar.h
-makefile
-dog.cpp

我究竟做错了什么?

最佳答案

这个

dog.o: dog.cpp collar.h
    $(CC) $(CFLAGS) -o dog.cpp

collar.o: collar.cpp collar.h
   $(CC) $(CFLAGS) -o collar.cpp

应该读
dog.o: dog.cpp collar.h
    $(CC) $(CFLAGS) -c dog.cpp

collar.o: collar.cpp collar.h
    $(CC) $(CFLAGS) -c collar.cpp

关于c++ - Makefile问题:g++:致命错误:无输入文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21653680/

10-12 07:02