You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查看Bazel默认所有可用cc_toolchains及获取选中工具链信息

查看与切换Bazel的CC工具链

一、查看所有可用的CC工具链

可以通过以下命令列出Bazel检测到的所有本地CC工具链相关目标:

bazel query @local_config_cc//:all --output label_kind

执行后会输出包含gcc、clang等不同工具链的标识信息。

另外,也可以直接查看Bazel自动生成的工具链配置目录,路径通常为:

~/.cache/bazel/_bazel_<你的用户名>/<哈希值>/external/local_config_cc

该目录下的BUILD文件中,会明确列出所有被检测到的工具链定义细节。

二、切换到指定的CC工具链

单次构建临时切换

直接在构建命令中通过环境变量指定编译器:

  • 使用clang构建:
CC=clang bazel build //your/target:name
  • 使用特定版本gcc构建:
CC=gcc-11 bazel build //your/target:name

永久配置(项目/全局级)

  1. 项目级:在项目根目录创建.bazelrc文件,添加配置:
build --action_env=CC=clang
build --cxxopt=-std=c++17

此后该项目构建默认使用指定工具链。
2. 全局级:在用户主目录创建.bazelrc文件并添加上述配置,所有Bazel项目都会默认应用该工具链设置。

三、获取当前选中工具链的信息

查看构建时的工具链细节

在构建命令中添加--verbose_failures参数,构建过程中(即使失败)会输出完整的编译命令行,从中可以看到当前使用的编译器路径、参数等信息:

bazel build --verbose_failures //your/target:name

查询工具链的定义信息

使用bazel query结合输出参数查看指定工具链的详细配置:

bazel query @local_config_cc//:cc-compiler-k8 --output build

这里的cc-compiler-k8是x86_64 Linux环境下的默认工具链标签,替换为你关注的工具链标签后,会输出该工具链的编译器路径、编译选项等核心配置。


内容的提问来源于stack exchange,提问作者Junhyeok Ahn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 19:25:29