干净与clobber

时间:2012-08-25 00:03:34

标签: c++ compilation

我编译了一个大项目: 我运行一个编译,它失败了“未完成的工作”错误 当我使用clean / clobber时,它在另一个地方失败并出现同样的错误?

编译时clean和clobber有什么区别? 以及解决上述问题如何解决?

2 个答案:

答案 0 :(得分:15)

Keith是对的,干净且clobber可能意味着makefile的作者想要的任何东西。

在实践中虽然我认为两者之间的差异通常是这样的:

clean: deletes all the object files created
clobber: deletes all the object files AND the intermediate dependency files generated which specify the dependencies of the cpp files.

至少在我所参与的项目中就是这种情况。

答案 1 :(得分:3)

我认为你说你运行命令

make clean

make clobber

这些是Makefile中指定的目标。它们的含义取决于Makefile所说的内容;他们没有预定义。通常,它们都会删除编译时生成的文件(可执行文件,目标文件)。 cleanclobber之间的差异(如果有)取决于Makefile作者的心血来潮。