2

私の BUILD ファイルには、いくつかのライブラリがあります。

cc_library(
    name = "foo",
    srcs = [ "foo.cpp" ],
    hdrs = [ "foo.h" ],
    copts = [ "-Wall" ],
)
cc_library(
    name = "bar",
    srcs = [ "bar.cpp" ],
    hdrs = [ "bar.h" ],
    copts = [ "-Wall" ],
)

ご覧のとおり、両方のライブラリが同じ を共有していcoptsます。同様に、同じ .xml を持つ複数のバイナリがありlinkoptsます。すべてのライブラリとバイナリに個別に追加する必要がないように、これらのコンパイラ フラグを BUILD で一度定義するにはどうすればよいですか?

4

1 に答える 1

2

CROSSTOOL ファイルに cc フラグを設定するのが正しい方法ですが、自動生成されるようになったため、カスタム フラグを作成する必要があります。

最も簡単な方法は、 --copt フラグを使用してそれらを定義し、bazelrc ファイルを tools/bazel.rc に配置することです。

于 2016-05-02T08:37:40.087 に答える