首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我无法加载@bazel_tool

我无法加载@bazel_tool
EN

Stack Overflow用户
提问于 2018-01-25 21:01:55
回答 2查看 577关注 0票数 1

我正在尝试使用bazel编译一些支离破碎的、与平台相关的C#代码,我在定义平台时遇到了相当多的问题。

我定义了两个平台:

代码语言:javascript
复制
platform (
   name = "darwin",
   constraint_values = [
     "@bazel_tools//platform:osx",
   ],
)
platform (
   name = "windows",
   constraint_values = [
     "@bazel_tools//platform:windows",
   ],
)

然后在BUILD文件中其他位置的genrule中的select中使用它:

代码语言:javascript
复制
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"
})

然而,当我尝试构建一些东西时,我得到一个类似于以下内容的错误

代码语言:javascript
复制
no such package '@bazel_tools//platform': BUILD file not found on package path and referenced by //<package>:darwin

我认为这意味着@bazel_tools不可用。

documentation声称@bazel_tools是内置的,所以这对我来说相当令人惊讶--对我来说,“内置”的意思是“你不需要做任何事情就可以使用它”。我也找不到任何可以告诉我如何解决这个问题的东西。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-01-26 02:52:11

我相信这个目录就是平台“:

@bazel_tools//platforms:osx"

票数 3
EN

Stack Overflow用户

发布于 2018-11-17 02:49:07

platform规则没有定义您可以在select()中使用的配置设置。您应该使用config_setting

这对我很有效:

代码语言:javascript
复制
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"
  ]
)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48443533

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档