【发布时间】:2019-01-24 19:51:10
【问题描述】:
假设我有一个带有单个 cc_library 目标的包和一个用于测试带有单个 cc_test 目标的内部包,如下所示:
mylib/
BUILD
mylib.h
mylib.c
mylib-private.h
tests/
BUILD
test.c
为了执行一些单元测试,我需要访问“私有”方法,因此我创建了 mylib-private.h,我只想将其包含在测试代码中。
显然,这个头文件不应该是库 API 的一部分,也不应该随它一起提供。
如果我将mylib-private 添加到mylib 的hdrs - 所有人都可以看到它。
如果我将mylib-private 添加到mylib 的srcs - 只有mylib 可以使用它...
有没有办法控制单个头文件的可见性?
【问题讨论】:
标签: unit-testing header-files bazel build-system