gpt4 book ai didi

c++ - Makefile 总是认为项目是最新的 - 但文件甚至不存在

转载 作者:行者123 更新时间:2023-12-02 12:34:11 26 4
gpt4 key购买 nike

我有以下 makefile:

CCC = g++CCFLAGS = -ansidriver: driver.o graph.o        $(CCC) -o driver driver.o graph.ograph.o: graph.hdriver.o: graph.hadjl:        rm -f graph.h graph.cc        ln -s adjl/graph.cc .        ln -s adjl/graph.h .        touch graph.cc graph.hadjm:        rm -f graph.h graph.cc        ln -s adjm/graph.cc .        ln -s adjm/graph.h .        touch graph.cc graph.hclean:        rm -f *.oreal_clean: clean        rm -f graph.cc graph.h        rm -f driver

我的想法是,我尝试根据我想要使用的实现来链接两个不同的 .cc/.h 文件。如果我进行 real_clean,则 .cc/.h 文件都不存在,我只有 driver.cc 文件和文件夹中的 makefile。如果我调用 make,它会说它们是最新的。即使我编辑 adjl/adjm 中的文件以使其成为“较新”版本,也会发生这种情况。

 [95]% lsadjl/  adjm/  driver.cc  makefile [96]% make adjlmake: `adjl' is up to date. [97]% make adjmmake: `adjm' is up to date.

我从我完成的另一个项目中获取了模板 makefile,它们的编写方式相同,但我可以重复执行相同的命令,而不会出现“最新”问题。

我用谷歌搜索过,但没有发现与我类似的问题(它们通常涉及在制作前不进行清洁的用户)。

感谢大家的阅读。

最佳答案

问题是您的目录名称与 Makefile 中的目标名称相同。

当您发出make adjl时,make会检查它找到的文件adjl,但它不执行任何操作。将目标重命名为其他名称,然后重试。

关于c++ - Makefile 总是认为项目是最新的 - 但文件甚至不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4435456/

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