gpt4 book ai didi

cmake - 使用cmake创建protobuf/grpc cc文件

转载 作者:行者123 更新时间:2023-12-04 03:43:09 24 4
gpt4 key购买 nike

如果我想在 cmake 中重新创建以下 protoc 命令:

protoc -I ../proto/ --cpp_out=. service.proto

我在 cmake 中使用以下几行:
file(GLOB ProtoFiles "${CMAKE_CURRENT_SOURCE_DIR}/*.proto")
PROTOBUF_GENERATE_CPP(ProtoSources ProtoHeaders ${ProtoFiles})

如果我想重新创建下面的 protoc 命令:
protoc -I ../proto/ --grpc_out=. --plugin=protoc-gen-grpc=`which grpc_cpp_plugin` service.proto

在上述情况下,我无法确定如何更改 cmake 文件,请帮助!

问题是我该如何解决:
--plugin=EXECUTABLE           Specifies a plugin executable to use.
Normally, protoc searches the PATH for
plugins, but you may specify additional
executables not in the path using this flag.
Additionally, EXECUTABLE may be of the form
NAME=PATH, in which case the given plugin name
is mapped to the given executable even if
the executable's own name differs.

我一直在阅读 PROTOBUF_GENERATE_CPP 文档,但没有找到答案!

最佳答案

从 3.12 版本开始,protobuf_generate 支持 PLUGIN 参数
https://github.com/protocolbuffers/protobuf/blob/v3.12.0/cmake/protobuf-config.cmake.in#L46
所以你可以尝试一些事情:PROTOBUF_GENERATE_CPP(ProtoSources ProtoHeaders ${ProtoFiles} PLUGIN protoc-gen-grpc=${GRPC_CPP_PLUGIN_PATH})

关于cmake - 使用cmake创建protobuf/grpc cc文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32823563/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com