【发布时间】:2020-03-10 20:50:57
【问题描述】:
我希望在编译和链接 C++ 文件时完全控制 Bazel 传递给编译器的命令行参数。 例如,我想使用自定义路径中的 G++,我想将 -std=c++0x 更改为 -std=c++14 并删除 -fno-omit-frame-pointer - 具有以下约束:
- 避免通过
CCenvvar 设置编译器,因为它很脆弱 - 避免使用
--crosstool_top等。 al,据我了解,Bazel 正在远离它 - 与 --all_incompatible_changes 兼容
- 不要简单地通过
copts覆盖这些参数,因为它很脆弱并且容易产生错误的命令
最好,我想获取自动检测、生成的工具链,对其进行修改,然后将其提交到我的工作区,以供工作区中的每个 C++ 目标使用,包括从源编译的工作区导入的。
我查看了Toolchains、Configuring C++ toolchain、rules_cc - 但我想不通。
【问题讨论】: