无法切换gcc版本
在Ubuntu 16.04.2上,我试图用一个更新的gcc编译代码 因此,我做了以下工作:无法切换gcc版本,gcc,bazel,Gcc,Bazel,在Ubuntu 16.04.2上,我试图用一个更新的gcc编译代码 因此,我做了以下工作: 在工作区中创建一个文件tools/cpp/CROSSTOOL 将bazel repo的最新CROSSTOOL内容复制到 在CROSSTOOL文件中,在标识符local\u linux下,将/usr/bin/gcc更改为/usr/bin/gcc-7 调用bazel build//foo 当我输出为构建//foo:foo而执行的命令行时,它调用/usr/bin/gcc 有人能指出我做错了什么吗?您可能正在使用
tools/cpp/CROSSTOOL
local\u linux
下,将/usr/bin/gcc
更改为/usr/bin/gcc-7
bazel build//foo
//foo:foo
而执行的命令行时,它调用/usr/bin/gcc
有人能指出我做错了什么吗?您可能正在使用静态crosstool,它只用于引导和一些测试(以及其他一些细节)。bazel通常使用的是tools/cpp/CROSSTOOL.tpl,它是由tools/cpp/cc_configure.bzl填充的模板。这是检查CC环境变量的脚本,如果设置了,它会将其用于gcc
当然,您可以使用静态crosstool,您只需使用
--crosstool\u top=/some/crosstool
标志告诉bazel。您可以将其保存在本地.bazelrc
项目中设置CC
环境确实有效,但我不想忘记将其保存在我的环境中。有趣的是,它似乎确实使用了CC
over CROSSTOOL!?