我们的项目包含很多 c++ 源代码,到目前为止,我们一直在使用 make 来构建所有内容,但这需要很长时间。所以我偶然发现了 waf,它工作得很好,并且大大加快了构建速度。然而,每次我进行完整构建时,我都会遇到一些毫无意义的构建错误。如果我现在进行增量构建,大多数情况下第一次无法构建的一些源现在构建,其他一些仍然失败。在另一个增量构建中,我最终将获得成功的构建。
我已经尝试在单独的步骤中构建单独的库,以防万一尝试并行构建任何依赖库,但错误仍然出现。
编辑:我不断收到的错误似乎与我的代码无关,例如
Build failed
-> task failed (exit status -1):
{task 10777520: c constr_SET.c -> constr_SET.c.1.o}
在另一个“waf build”之后,我不再收到此错误。
EDIT2:我的库的构建步骤如下所示:
def build(bld):
bld.shlib(source="foo.cpp bar.cpp foobar.cpp constr_SET.c",
target="foobar",
includes= "../ifinc",
name="foobar",
use="MAIN RW HEADERS",
install_path = "lib/")
MAIN、RW、HEADERS 只是我们使用的一些标志和外部库。
有没有人在他们的系统上看到过类似的行为?甚至是解决方案?