如何结合bazel方面和cc_库

如何结合bazel方面和cc_库,bazel,bazel-aspect,Bazel,Bazel Aspect,我想构建一个与cc\u proto\u库非常相似的规则。关键特性是它将一个方面应用于所有可传递的proto_库依赖项,并为所有依赖项生成.cc和.h文件。此外,它将生成将这些文件编译成对象文件的操作 虽然我了解如何生成文件,但我不知道如何轻松地生成对象。该模块不适用于规则(或方面)实现,我不能在方面之上使用宏,因为我需要在与proto_库相同的包中生成目标文件,以便只生成一次 我相信cc_proto_库可以做到这一点,因为它不是用Skylark编写的,因此可以访问更多的原语。只有云雀才能做到这一

我想构建一个与
cc\u proto\u库
非常相似的规则。关键特性是它将一个方面应用于所有可传递的
proto_库
依赖项,并为所有依赖项生成
.cc
.h
文件。此外,它将生成将这些文件编译成对象文件的操作

虽然我了解如何生成文件,但我不知道如何轻松地生成对象。该模块不适用于规则(或方面)实现,我不能在方面之上使用宏,因为我需要在与
proto_库
相同的包中生成目标文件,以便只生成一次


我相信cc_proto_库可以做到这一点,因为它不是用Skylark编写的,因此可以访问更多的原语。只有云雀才能做到这一点吗?

不幸的是,目前不可能做到这一点。没有C++语言的规则/动作(我们称之为)的SkyLak API。我们计划在2018年第一季度实施这一计划。有许多跟踪问题,这一个看起来最相关:。

不幸的是,目前不可能做到这一点。没有C++语言的规则/动作(我们称之为)的SkyLak API。我们计划在2018年第一季度实施这一计划。有很多跟踪问题,这一点看起来最相关:./P>我要求我们的云雀+ C++人评论从云雀创建C++编译动作,但只是一个快速回复-如果你将在同一个项目中使用<代码>原生.CcProtoMultualStudio,注意让你的规则生成不同的文件名和不同的符号。否则,你会遇到输出文件冲突和链接错误。我要求我们的云雀+ C++人评论创建云雀的C++编译动作,但是只是一个快速回复——如果你在同一个项目中使用<代码>原生.CcProtoMultLabor <代码>,注意让你的规则生成不同的文件名和不同的符号。否则,您将遇到输出文件冲突和链接器错误。