Bazel 非c代码的交叉编译
在linux上交叉编译一个几乎为空的工作区(没有依赖项,一个构建文件有一个空文件组)会导致一个错误Bazel 非c代码的交叉编译,bazel,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交叉工具,我们无法交叉编译非c语言,这似
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交叉工具,我们无法交叉编译非c语言,这似乎是一个相当基本的限制。有没有办法解决这个问题?有两个问题:
1。这是个问题,我们正在解决。但是bazel努力检测你的工具链,所以在大多数情况下不需要额外的工作。我想知道为什么它不适合你。。。调查。因为Bazel 0.21 Bazel无条件地不需要C工具链。它仅在构建需要时加载C工具链(例如,构建cc_二进制文件,或使用C++编写的工具)。因为Bazel 0.21 Bazel无条件地需要C工具链。它仅在构建需要时加载C工具链(例如,构建cc_二进制文件,或使用C++编写的工具)。Bazel可以检测工作主机工具链,构建构建期间使用的工具就足够了,但不足以进行交叉编译。存储库是完全空的,唯一的文件是:WORKSPACE``WORKSPACE(name=“test”)``BUILD.bazel``filegroup(name=“test”)```所以它根本不应该尝试构建任何东西。bazel可以检测到工作主机工具链,构建过程中使用的工具就足够了,仅仅做交叉编译是不够的。存储库是完全空的,唯一的文件是:WORKSPACE``WORKSPACE(name=“test”)``BUILD.bazel``filegroup(name=“test”)``所以它根本不应该尝试构建任何东西。