Waf在c ++构建上抛出错误

时间:2011-10-07 09:54:24

标签: c++ waf

我们的项目包含很多c ++源代码,到目前为止我们一直在唱歌来构建所有内容,但这需要很长时间。所以我偶然发现了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只是我们使用的一些标志和外部库。

有没有人在他们的系统上看到类似的行为?甚至是解决方案?

1 个答案:

答案 0 :(得分:1)

我怀疑多个目标并行构建相同的必需对象。试试

export JOBS=1

 waf --jobs 1