1

我目前正在开发一个 C 项目,每个单元测试都有一个主要可执行文件和一个可执行文件。在 SConstruct 文件中,我指定每个可执行文件的依赖项,例如

env.Program(['Main.c', 'Foo.c', 'Bar.c', 'Baz.c', ...])
env.Program(['FooTest.c', 'Foo.c', 'Baz.c', ...])
env.Program(['BarTest.c', 'Bar.c', 'Baz.c', ...])
...

然而,这很容易出错且不优雅,因为构建工具也可以跟踪依赖关系,在本例中为 SCons。如何改进我的构建脚本?

4

1 回答 1

2

您需要的是某种工具,1)查看您包含的标题 2)从标题中确定需要构建哪些源文件 3)冲洗并重复您刚刚添加的所有源文件

完成后,它必须查看它生成的树并尝试将其中的一些压缩到合理的库中,假设你还没有这样做(并且看看这两个问题的语气,这个练习似乎被视为学术性的,而不是良好软件开发的标准部分)。

一个工具中可能有一些里程说“你已经包含了标题 A/Bh,所以你的链接行中需要 libA”,但即使这样也会有很多陷阱,这取决于不同的人如何构建和链接他们的图书馆。

但是您问的是如何定义编写构建脚本的构建脚本。这是你应该为自己做的事情。

于 2013-09-02T11:25:01.337 回答