gpt4 book ai didi

c++ - GNU Make 会自动添加额外的先决条件吗?

转载 作者:太空狗 更新时间:2023-10-29 21:18:14 27 4
gpt4 key购买 nike

以下示例片段来自 “使用 GNU Make 管理项目(第 3 版)” 第 21 页。

count_words: counter.o lexer.o -lfl

作者说make 会通过隐式规则自动将count_words.o 添加到先决条件列表中。引用:

..., make identifies four prerequisites: count_words.o (this prerequisite is missing from the makefile, but is provided by the implicit rule), counter.o, lexer.o, and -lfl.

但是,我的测试不符合那个。这是我的测试:

prog: abc.o
@echo $^
abc.o:
@echo abc.o built.
prog.o:
@echo prog.o bulit.

运行make后的输出是:

abc.o built.

abc.o

make 没有为目标 prog 寻找 prog.o。有什么问题?我的测试有问题吗?

顺便说一下,我的测试是在 CygwinGNU Make 4.1 上进行的。

最佳答案

您为您的 prog 目标提供了配方。作者没有针对 count_words 目标。这就是区别。

作者指望内置的 %: %.o 规则生效。你用你的规则覆盖了它。

prog 配方中删除 @echo $^ 并重试。

关于c++ - GNU Make 会自动添加额外的先决条件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30533969/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com