0

私たちのプロジェクトには多くのc++ソースが含まれており、これまではすべてを構築するためにmakeを歌っていましたが、これには時間がかかります。それで、私はwafに出くわしました。これは非常にうまく機能し、ビルドを大幅に高速化します。ただし、フルビルドを実行するたびに、意味のないビルドエラーがいくつか発生します。今すぐインクリメンタルビルドを実行すると、ほとんどの場合、最初にビルドできなかったソースの一部が今すぐビルドされますが、他のソースはまだ失敗します。別のインクリメンタルビルドでは、最終的にビルドが成功します。

依存ライブラリを並行してビルドしようとした場合に備えて、個別のライブラリを個別の手順でビルドしようとしましたが、それでもエラーが表示されます。

編集:私が繰り返し発生するエラーは、私のコードとは何の関係もないようです。

Build failed
 -> task failed (exit status -1):
        {task 10777520: c constr_SET.c -> constr_SET.c.1.o}

別の「wafビルド」の後、このエラーは発生しなくなりました。

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は、私たちが使用するフラグと外部ライブラリのほんの一部です。

誰かが自分のシステムで同様の動作を見たことがありますか?それとも解決策ですか?

4

1 に答える 1

1

複数のターゲットが同じ必要なオブジェクトを並行して構築しているのではないかと思います。試す

export JOBS=1

また

 waf --jobs 1
于 2011-10-07T10:34:14.377 に答える