我正在使用 Bazel 来构建我的项目。依赖项之一是 Abseil,它又依赖于 rules_cc。
我注意到当我安装了多个版本的 GCC 时,rules_cc 可能会指示 Bazel 使用旧版本的 GCC,即使我希望使用最新版本的 GCC。为了解决这个问题,我一直在手动编辑bazel-project/external/local_config_cc/BUILD
以引用最新版本的 GCC。
有没有更好或“正确”的方法来做到这一点?
我正在使用 Bazel 来构建我的项目。依赖项之一是 Abseil,它又依赖于 rules_cc。
我注意到当我安装了多个版本的 GCC 时,rules_cc 可能会指示 Bazel 使用旧版本的 GCC,即使我希望使用最新版本的 GCC。为了解决这个问题,我一直在手动编辑bazel-project/external/local_config_cc/BUILD
以引用最新版本的 GCC。
有没有更好或“正确”的方法来做到这一点?
将该标志添加到.buildrc
(或您的bazel build
调用):
build --action_env=CC=/path/to/your/gcc
您也可以设置一个CXX
变量,但此时CC
Bazel 只使用a
该方法使用 Bazel 自动生成的工具链。您也可以创建自己的工具链,但这是一个复杂的过程。