请大家看下我对makefile的理解对不对,谢谢

makefile

person: main.o person.o c.o
g++ -o $@ $^
%.o : %.cpp
g++ -c -o $@ $^ # 原来是 "g++ -c -o $@ $<"

问2:  $^和$< 他们到底有什么区别?  最后一行我把$^和$<呼唤都可以正常运行。

$^  表示所有的依赖文件
$<  表示第一个依赖文件
请先 登录 后评论

1 个回答

星星之火 - 嵌入式工程师
擅长:答疑助手

不能用 "person: %.o"代替,因为%是在已经知道目标名的时候,用已知的名字取替换%。 %是需要被一个已知名字去替换的。



加了一个c.cpp,也可以?什么意思

请先 登录 后评论