如果某些.c文件包含其他.c文件,我可以做些什么来构建shared_library?cc_binary的规则中没有HDR

3qpi33ja  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(60)

我的项目是用cmake编译的,我想用bazel重建我的项目,但发生了一些错误。有一个包含以下代码的.c文件

#define XXX
#include "ABC.c"
#undef XXX

这就是问题所在。
如果我想编译一个动态库,我应该把这个文件放在cc_binary的哪里?cc_binary中没有hdr,但我不能将此文件放在srcs中,因为ABC. c无法编译。

cc_binary(
    name=""
    srcs=[],
)
pjngdqdw

pjngdqdw1#

使用cc_librarytextual_hdrs属性:

cc_binary(
    name = 'mylib.so',
    linkshared = True,
    deps = [':lib'],
)

cc_library(
   name = 'lib',
   srcs = ["source.c"],
   textual_hdrs = ["include.c"],
   alwayslink = True,
)

相关问题