无法使用gRPC中的proto 3.0缓冲区生成客户端代码

时间:2016-03-02 07:13:32

标签: c++ go protocol-buffers grpc

我正在尝试在gRPC中生成客户端和服务器代码。我已经从github安装了grpc目录并尝试生成C++代码。我安装了原型编译器3.0.0。

当我执行protoc时,我遇到错误

$ protoc -I ../../protos/ --grpc_out=. --plugin=protoc-gen-grpc=grpc_cpp_plugin                                                                                                                                                  ../../protos/helloworld.proto
grpc_cpp_plugin: program not found or is not executable
--grpc_out: protoc-gen-grpc: Plugin failed with status code 1.

知道为什么我无法生成客户端/服务器代码

1 个答案:

答案 0 :(得分:1)

检查/usr/local/bin。它应该与其他语言的插件一起使用。

/usr/local/bin > ll total 71144 -rwxr-xr-x 1 root root 12721867 Oct 23 10:44 grpc_cpp_plugin* -rwxr-xr-x 1 root root 14509678 Oct 23 10:44 grpc_csharp_plugin* -rwxr-xr-x 1 root root 13339870 Oct 23 10:44 grpc_objective_c_plugin* -rwxr-xr-x 1 root root 12569518 Oct 23 10:44 grpc_python_plugin* -rwxr-xr-x 1 root root 12393363 Oct 23 10:44 grpc_ruby_plugin*

如果你有其他插件但没有cpp,你可能在安装时忽略了一些东西。

如果在那里尝试在编译时指定完整路径(即--plugin=protoc-gen-grpc=/usr/local/bin/grpc_cpp_plugin

如果你有多个版本的protobuf检查你是否使用同一个protoc和插件。