如何在C ++中使用grpc在原型文件中生成服务?

时间:2018-12-11 19:08:26

标签: protocol-buffers grpc

我必须在c ++中与grpc一起使用,运行生成原始文件的命令时出现错误。 在哪里可以找到用于cpp的grpc插件? 谢谢;)

1 个答案:

答案 0 :(得分:1)

获取所有用于gRPC的插件的简单方法是使用vcpkg

只需遵循this answer中的描述。 用vcpkg安装gRPC软件包后,可以在“ vcpkg-folder ”中找到所需的所有内容。

  • 协议:“ path_to_vcpkg ” / packages / protobuf_xX-XX / tools / protobuf
  • 插件:“ path_to_vcpkg ” / packages / grpc_x64-linux / tools / grpc
  • CmakeToolchainFile:“ path_to_vcpkg ” / scripts / buildsystems / vcpkg.cmake

要生成C ++原始文件,请使用以下命令:

path_to_vcpkg/packages/protobuf_xX-XX/tools/protobuf/protoc -I ./path_to_your_proto_files --cpp_out=./path_where_to_output --grpc_out=./path_where_to_output --plugin=protoc-gen-grpc=./path_to_your_plugin/grpc_cpp_plugin path_to_your_proto_file/Target.proto 

如果您要交叉编译您的应用程序在不同的操作系统上,则此方法也适用。 vcpkg的另一个优点是,它为您提供了所有预编译的软件包和库,因此您不必花费数小时为C ++编译gRPC。 ;)