非c代码的交叉编译

时间:2017-08-16 16:32:40

标签: bazel

在linux上交叉编译一个几乎空的工作区(没有依赖项,一个带有空文件组的构建文件)会导致错误......

bazel build //... --cpu=x64_windows_msvc
ERROR: cc_toolchain_suite '@local_config_cc//:toolchain' does not contain a toolchain for CPU 'x64_windows' and compiler 'cl'

这意味着我们无法在没有有效c cststool的情况下交叉编译非c语言,这似乎是一个相当基本的限制。有没有办法解决这个问题?

2 个答案:

答案 0 :(得分:0)

有两个问题:

  1. C工具链是C配置的一部分,目前bazel在没有有效C配置的情况下无法工作。
  2. Bazel可以在构建过程中使用工具,其中很多都是C语言,因此即使您的代码不需要C工具链,也可以使用一些构建代码的工具。
  3. 1.问题,我们正在研究它。但是bazel努力检测你的工具链,所以在大多数情况下都不需要额外的工作。我想知道为什么它对你不起作用......调查。

答案 1 :(得分:0)

由于Bazel 0.21,Bazel不需要无条件地使用C工具链。仅在构建需要时(例如,构建cc_binary或使用C ++编写的工具)加载C工具链。