我无法加载@bazel_工具
我正在尝试使用bazel编译一些不完整的、依赖于平台的C#代码,我在定义平台时遇到了很多问题 我定义了两个平台:我无法加载@bazel_工具,bazel,Bazel,我正在尝试使用bazel编译一些不完整的、依赖于平台的C#代码,我在定义平台时遇到了很多问题 我定义了两个平台: platform ( name = "darwin", constraint_values = [ "@bazel_tools//platform:osx", ], ) platform ( name = "windows", constraint_values = [ "@bazel_tools//platform:windows"
platform (
name = "darwin",
constraint_values = [
"@bazel_tools//platform:osx",
],
)
platform (
name = "windows",
constraint_values = [
"@bazel_tools//platform:windows",
],
)
然后我在genrule
的BUILD
文件的其他地方选择使用它:
cmd = select ({
":darwin" : "a bash command",
":windows" : "a long and complex windows command because windows is stupid and makes everything much much more complex than it has to be"
})
然而,当我试图构建某个东西时,我会在以下方面出错:
no such package '@bazel_tools//platform': BUILD file not found on package path and referenced by //<package>:darwin
没有这样的包“@bazel_tools//platform”:在包路径上找不到生成文件,并且由//:darwin引用
我认为这意味着@bazel_工具
不可用
声称
@bazel_tools
是内置的,所以这对我来说是一个很大的惊喜——对我来说,“内置”意味着“你不需要做任何事情就可以使用它”。我也找不到任何可以告诉我如何解决问题的信息。我相信目录是:
@bazel\u tools//platforms:osx“
我相信目录是platforms”:
@bazel\u tools//platforms:osx“
平台
规则未定义可在select()中使用的配置设置。您应该使用config\u设置
这对我很有用:
config_setting(
name = "darwin",
constraint_values = [
"@bazel_tools//platforms:osx",
"@bazel_tools//platforms:x86_64"
]
)
config_setting(
name = "linux_x86",
constraint_values = [
"@bazel_tools//platforms:linux",
"@bazel_tools//platforms:x86_64"
]
)
平台
规则未定义可在select()中使用的配置设置。您应该使用config\u设置
这对我很有用:
config_setting(
name = "darwin",
constraint_values = [
"@bazel_tools//platforms:osx",
"@bazel_tools//platforms:x86_64"
]
)
config_setting(
name = "linux_x86",
constraint_values = [
"@bazel_tools//platforms:linux",
"@bazel_tools//platforms:x86_64"
]
)
似乎如此:-)似乎如此:-)