Build 如何指定要在";中使用的编译器标志;“选择”;由我自己的工具链编译\u模式?

Build 如何指定要在";中使用的编译器标志;“选择”;由我自己的工具链编译\u模式?,build,bazel,Build,Bazel,我有自己的C/C++工具链,我需要使用一组固定的gcc优化标志(即没有O1/2/3)。我想指定当我使用编译模式“opt”时,cc\u二进制文件使用这些优化标志。我怎么能做到这一点?< p>我不是C++规则专家,但我相信你必须定义自己的交叉表并在构建中使用它(参见 -CoptoStoLoopTope标志)。 我添加了一个配置设置: 配置设置( name=“opt_模式”, 值={ “编译模式”:“选择” } ) 我正在使用我的cc_库的“功能”字段/属性/中的“选择”功能,但该功能被称为: 挑选(

我有自己的C/C++工具链,我需要使用一组固定的gcc优化标志(即没有O1/2/3)。我想指定当我使用编译模式“opt”时,
cc\u二进制文件使用这些优化标志。我怎么能做到这一点?

< p>我不是C++规则专家,但我相信你必须定义自己的交叉表并在构建中使用它(参见<代码> -CoptoStoLoopTope标志)。
  • 我添加了一个配置设置:

    配置设置( name=“opt_模式”, 值={ “编译模式”:“选择” } )

  • 我正在使用我的cc_库的“功能”字段/属性/中的“选择”功能,但该功能被称为:

    挑选({ “:opt_mode”:['foo','bar'], //条件:默认值“:['foobar'] })


  • 如果这种方法完全是假的,请让我知道;我是一个完全的Bazel新手。

    谢谢,我已经按照教程设置了工具链,它可以工作了。我还添加了一些功能,这些功能似乎也可以工作:-)。现在我特别感兴趣的是如何覆盖编译模式“opt”中使用的编译器标志(稍后还有“dbg”,但我认为这应该与“opt”的工作方式类似)。这种方法对我来说很好。如果你能用这种方式设置优化标志,那就去做吧!