【发布时间】:2019-11-03 18:03:42
【问题描述】:
我有一个基于 Bazel 的 C 项目,我想在 Linux 上同时使用 gcc 和 clang 编译它。为了在编译器之间切换,我在调用前加上 CC=<compiler,如下所示:
CC=clang bazel build //my-package:my-target
这按预期工作,除了我还使用 copts 参数调用 Bazel 规则:
cc_binary(
name = "my-target",
srcs = [
"my-src.c",
],
copts = [
"-std=c89",
"-Wno-unused-label",
"-Wno-unused-variable",
"-Wno-unused-but-set-variable",
"-Wno-misleading-indentation",
],
)
这可行,但我从clang 收到“未知警告选项”消息:
warning: unknown warning option '-Wno-unused-but-set-variable'; did you mean '-Wno-unused-const-variable'? [-Wunknown-warning-option]
warning: unknown warning option '-Wno-misleading-indentation'; did you mean '-Wno-binding-in-condition'? [-Wunknown-warning-option]
是否可以在用于特定 Bazel 调用的 C 编译器上指定 copts 参数条件?
【问题讨论】: