使用多个编译器进行Bazel编译
我有一个非常简单的测试用例,具有以下结构:使用多个编译器进行Bazel编译,bazel,Bazel,我有一个非常简单的测试用例,具有以下结构: project | |-- app | | | |-- BUILD | |-- *.cpp *.h | |-- lib | | | |-- BUILD | |-- *.cpp *.h | |-- WORKSPACE app包含一条cc_binary规则,而lib--仅cc_库,它被编译到共享库中并链接到可执行文件 我遇到的问题是,我需要使用gc
project
|
|-- app
| |
| |-- BUILD
| |-- *.cpp *.h
|
|-- lib
| |
| |-- BUILD
| |-- *.cpp *.h
|
|-- WORKSPACE
app
包含一条cc_binary
规则,而lib
--仅cc_库
,它被编译到共享库中并链接到可执行文件
我遇到的问题是,我需要使用gcc-9
编译lib
,而app
——使用gcc-10
我试图根据文档中的文章创建自定义工具链。然而,据我所知,它适用于全局代码,而不是特定目标
我还发现可以在建筑目标规则中指定工具链
,例如:
cc_binary(
name = "main",
srcs = ["main.cpp"],
deps = [
"//lib:cpplib"
],
toolchains = [
"//toolchain:gcc10_toolchain"
]
)
但是,此用法不正确,并出现以下错误:在cc_二进制规则//app:main的toolschains属性中:“//toolschain:gcc10_toolschain”没有强制提供程序:“TemplateVariableInfo”