Что я уже сделал:
Я просматривал другие потоки 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
Вот этот make-файл:
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}
Вот файлы (все они находятся в одном каталоге), на которые ссылается make-файл:
-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
Попробуй сделать
$(CC) $(CFLAGS) - c collar.cpp -o compiledfilename
Compiledfilename — это имя двоичного файла.
Я знаю, что уже слишком поздно, чтобы ответить. Но это может помочь другим. Я была такая же проблема. И я исправил это, заменив .час файл с .HPP файл. Это сработало 🙂