Cmake Google Protobuf-Protoc使用导入编译Proto文件
gRPC示例显示了一个原型文件和一个输出文件的使用。然而,我得到了一个导入另一个的原型文件,该原型文件又从另一个目录导入了几个 protoc是否应该根据导入的文件生成头文件和源文件?或者您需要在每个单独的proto文件上运行编译器吗 是否有人有一个示例cmake,其中导入了原型文件 我的cmake中有这样的东西来编译一个proto文件:Cmake Google Protobuf-Protoc使用导入编译Proto文件,cmake,protocol-buffers,grpc,Cmake,Protocol Buffers,Grpc,gRPC示例显示了一个原型文件和一个输出文件的使用。然而,我得到了一个导入另一个的原型文件,该原型文件又从另一个目录导入了几个 protoc是否应该根据导入的文件生成头文件和源文件?或者您需要在每个单独的proto文件上运行编译器吗 是否有人有一个示例cmake,其中导入了原型文件 我的cmake中有这样的东西来编译一个proto文件: add_custom_command( OUTPUT "${chat_proto_srcs}" "${chat_proto
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\u 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\u library
将它们的列表添加到我的库的编译中。如果我正确理解文档,我必须编译*.pb.cc
文件以及*.grpc.pb.cc
文件。据我所知,是的,你必须为每个文件调用它。或者像常规编译器一样,将所有文件添加到一个调用中(据我所知),是的,您必须为每个文件调用它。或者像常规编译器一样,将所有文件添加到单个调用中