gpt4 book ai didi

c - 依赖性检查——如何清理包含错误 makefile 的项目

转载 作者:太空狗 更新时间:2023-10-29 17:17:08 26 4
gpt4 key购买 nike

我有一个非常大的 C 项目,其中包含许多独立的 C 文件和头文件以及许多贡献者。许多贡献者对 makefile 和依赖关系的了解不深,这导致了一个并不少见的问题,您几乎总是必须先“make clean”,然后才能相信“make”产生了正确的输出。

如果 make 只需要几分钟,这就不是问题,但现在在一台快速的机器上已经将近 2 个小时了,人们开始 checkin 在他们 make 时可以工作的代码,但他们不会先清理然后他们的代码最终破坏了构建。不要问为什么在削减新基线之前构建管理器不捕获这些...

是的,我们不应该让它走这么远。

是的,我们正在培训我们的开发人员。

像往常一样,我们没有时间停止一切并手动修复它。

我认为有这些工具:

  • 是否有自动化工具可以帮助从 C 和 H 文件为现有项目构建正确的依赖关系信息?
  • 是否有自动工具根据 makefile 描述依赖信息?
  • 是否有一种工具可以描述上述两种依赖关系树之间的差异?

但是还可以/应该做些什么来解决这个问题?

提前致谢...

-亚当

最佳答案

从 Make 切换到自动检测依赖项的工具可能是最简单的。例如,SCons不会让您列出依赖项,而是自动解析正在编译的文件并查找包含。您只需指定应编译哪些文件以及哪些文件进入哪些可执行文件。由于您的开发人员并不是真正的 Make 专家,因此切换构建系统会更容易。

如果您坚持使用 Make,另一种选择是使用 gcc -M 选项来自动检测依赖项。 Automatically discovering C dependencies的答案问题有一个示例,说明如何让您的 makefile 自动发现依赖项,以便您无需手动指定它们。

关于c - 依赖性检查——如何清理包含错误 makefile 的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/240061/

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