小编yan*_*neh的帖子

如何在 bazel 中指定 cc_library 的输出工件?

我想将“foo.c”构建为库,然后在生成的.so上执行“readelf”而不是“.a”,我如何在bazel中编写它?

以下 BUILD.bazel 文件不起作用:

cc_library(
    name = "foo",
    srcs = ["foo.c"],
)

genrule(
    name = "readelf_foo",
    srcs = ["libfoo.so"],
    outs = ["readelf_foo.txt"],
    cmd = "readelf -a $(SRCS) > $@",
)
Run Code Online (Sandbox Code Playgroud)

错误是“缺少输入文件'//:libfoo.so'”。

将 genrule 的 srcs 属性更改为“:foo”会将“.a”和“.so”文件传递给 readelf,这不是我需要的。

有没有办法指定“:foo”的哪个输出传递给genrule?

bazel

4
推荐指数
1
解决办法
2044
查看次数

标签 统计

bazel ×1