我们有一个cc_library依赖于our own protos和tensorflow protos。
在查看构建dep时,我们注意到它引入了protobuf的两个定义。
% bazel query "deps(//cc/google/fhir/seqex:resource_to_example)" &> resource_to_example_deps
% cat resource_to_example_deps | grep wire
@com_google_protobuf//:src/google/protobuf/wire_format.cc
@com_google_protobuf//:src/google/protobuf/wire_format_lite_inl.h
@com_google_protobuf//:src/google/protobuf/wire_format_lite.h
@com_google_protobuf//:src/google/protobuf/wire_format_lite.cc
@com_google_protobuf//:src/google/protobuf/wire_format.h
@protobuf_archive//:src/google/protobuf/wire_format.cc
@protobuf_archive//:src/google/protobuf/wire_format_lite_inl.h
@protobuf_archive//:src/google/protobuf/wire_format_lite.h
@protobuf_archive//:src/google/protobuf/wire_format_lite.cc
@protobuf_archive//:src/google/protobuf/wire_format.h
事实证明,上述原因是:
就目前而言,我可以通过更改(iii)以使用@protobuf_archieve来避免这种情况,但是我想知道是否有更好的方法来处理此问题:例如,如果同一个库需要依赖其他项目中的proto,该怎么办?使用不同的协议。
谢谢!