Я пишу небольшую программу, известную как «Центр оповещения», а основными классами/объектами, которые я использую, являются: Point, Line и Building. Содержимое моего файла Makefile:C++ - Проблемы с Makefile
building.o: building.h line.h point.h building.cpp
g++ -c building.cpp
line.o: line.h point.h line.cpp
g++ -c line.cpp
point.o: point.h point.cpp
g++ -c point.cpp
alert_center: point.o line.o building.o
g++ point.o line.o building.o runner.cpp -o alert_center
Проблема в том, что он учитывает только первый файл, указанный в списке. Например, если я изменил line.cpp
, а затем запустил make
, ничего не произойдет, и он скажет, что building.o
не изменился. Изменение будет скомпилировано только в том случае, если я сделаю правило для line.o
первым. Кто-нибудь знает, почему это происходит?
Вам нужно «сделать alert_center». Просто набирать 'make' делает цель * first *. (В качестве альтернативы переместите цель «alert_center» в начало файла makefile.) –
О, вау, тупая ошибка. Благодаря! –