如何解决Google Protobuf-Protoc编译带有导入的Proto文件
gRPC示例显示了一个原始文件和一个输出文件的使用。但是,为我提供了一个导入另一个文件的原型文件,该文件又从另一个目录导入了几个文件。
该协议是否应该从导入的文件生成标头和源文件?还是需要在每个单独的原始文件上运行编译器?
有人在原始文件导入的地方举个例子吗?
add_custom_command(
OUTPUT "${chat_proto_srcs}" "${chat_proto_hdrs}" "${chat_grpc_srcs}" "${chat_grpc_hdrs}"
COMMAND ${PROTOC_COMPILER}
ARGS --grpc_out "${CMAKE_CURRENT_BINARY_DIR}"
--cpp_out "${CMAKE_CURRENT_BINARY_DIR}"
-I "${chat_proto_path}"
--plugin=protoc-gen-grpc="${GRPC_PLUGIN}"
"${chat_proto}"
DEPENDS "${chat_proto}")
但是对于从${chat_proto}
指向的文件中导入的任何文件,似乎都不会产生任何作用
我也尝试过:
# Generated Proto files
file(GLOB_RECURSE proto_files "${CMAKE_CURRENT_SOURCE_DIR}/*.proto")
PROTOBUF_GENERATE_CPP(proto_srcs proto_hdrs ${proto_files} PLUGIN protoc-gen-grpc=${GRPC_PLUGIN})
add_custom_target(proto_dep DEPENDS ${proto_srcs} ${proto_hdrs})
message(STATUS "Generated source files are ${proto_srcs}")
但是,我看不到任何.grpc.pb.cc文件,也不知道如何使用add_library
将它们的列表添加到我的库的编译中。如果我正确理解了文档,则必须编译*.pb.cc
文件和*.grpc.pb.cc
文件。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。