在Buck中,可以使用genrule的输出作为cxx_library的标头,具体步骤如下:
genrule(
name = 'my_genrule',
srcs = ['my_source_file.cpp'],
outs = ['my_header_file.h'],
cmd = 'generate_header.sh $SRCS $OUTS',
)
上述代码中,my_genrule
是genrule规则的名称,srcs
指定了输入文件,outs
指定了输出文件,cmd
指定了生成标头文件的命令。
cxx_library(
name = 'my_library',
srcs = ['my_source_file.cpp'],
headers = ['my_genrule:my_header_file.h'],
deps = [...],
)
上述代码中,my_library
是cxx_library规则的名称,srcs
指定了库的源文件,headers
指定了标头文件,deps
指定了其他依赖项。
#include "my_header_file.h"
来引用genrule生成的标头文件。这样,genrule的输出文件就可以作为cxx_library的标头文件使用了。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云