我正在编写一个名为“警报中心”的小程序,我正在使用的主要类/对象是:Point,Line和Building。我的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
制定规则时,才会编译更改。有人知道为什么会这样吗?