无法切换gcc版本

时间:2017-07-01 22:53:37

标签: gcc bazel

在Ubuntu 16.04.2上我试图用更新的gcc编译代码。

所以我做了以下事情:

    工作区中的
  1. 创建文件tools/cpp/CROSSTOOL
  2. 将最新的CROSSTOOL内容从bazel repo复制到
  3. 在CROSSTOOL文件中,在标识符local_linux下,将/usr/bin/gcc更改为/usr/bin/gcc-7
  4. 致电bazel build //foo
  5. 当我输出为构建//foo:foo而执行的命令行时,它会调用/usr/bin/gcc

    有人可以指出我做错了吗?

1 个答案:

答案 0 :(得分:1)

您可能正在使用静态crosstool,它仅用于自举和一些测试(以及其他一些细节)。 bazel通常使用的是tools / cpp / CROSSTOOL.tpl,它是由tools / cpp / cc_configure.bzl填充的模板。这是检查CC环境变量的脚本,如果设置,则使用gcc。

当然你可以使用静态crosstool,你只需要使用--crosstool_top=//some/crosstool标志告诉bazel它。您可以将其保存在本地.bazelrc项目中。