我在这里看到的每个问题都在处理比我复杂得多的用例。
我正在上一年级的编程课程,只是不明白我做错了什么。运行make
时,我只会收到Circles is up to date
消息。
我有三个文件:
main.cpp =>程序的入口点
CircleDriver.cpp =>一个实现文件
circle.h =>包含头文件类的头文件。
main.cpp取决于CircleDriver.cpp和circle.h,CircleDriver.cpp取决于circle.h
当前我的Makefile看起来像这样:
Circles: main.o
g++ -std=c++11 -g -Wall main.o -o Circles
main.o: main.cpp
g++ -std=c++11 -g -Wall -c main.cpp CircleDriver.cpp
clean:
rm *.o Circles
我读到您不需要在compile命令中包含头文件,但是添加其他.cpp文件并不能解决我的问题。
我确定这是一个简单的问题,但是大约30分钟的谷歌搜索没有产生任何结果。
先谢谢您。
我通常为我的Makefile做这样的事情:
%.o: %.cpp
g++ -c -o $@ $< -std=c++11 -Wall
Circles: main.o CircleDriver.o
g++ -o $@ $^ -std=c++11 -Wall
clean:
rm *.o *~
这将为每个.cpp文件创建目标文件,然后使用这些目标文件来制作Circles。