Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6852867
  • 博文数量: 581
  • 博客积分: 13065
  • 博客等级: 上将
  • 技术积分: 10138
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-26 16:44
个人简介

推荐: blog.csdn.net/aquester https://github.com/eyjian https://www.cnblogs.com/aquester http://blog.chinaunix.net/uid/20682147.html

文章分类

全部博文(581)

分类: C/C++

2020-04-01 12:13:15

首先,下载 gRPC 源代码到本地:


* git clone https://github.com/grpc/grpc.git


如果只想下载指定版本的,如以版本“1.27.3”为例,可改成如下语句:


* git clone -b v1.27.3 https://github.com/grpc/grpc.git


上列操作成功完成后,gRPC 源码的第三方依赖目录 third_party 实际是空的,需通过下列步骤拉取依赖的第三方。切换到 grpc 目录,下载 grpc 第三方依赖到本地:


* git submodule update --init


grpc依赖的第三方库有点多,如果不借助”git submodule“,手工一个个下载不太容易。


注意,gRPC 要求 CMake 3.5.1 或以上版本的CMake,否则会报错”CMake 3.5.1 or higher is required“。


如果遇到下列问题,则表示第三方库没有准备好:


CMake Warning at cmake/abseil-cpp.cmake:30 (message):


  gRPC_ABSL_PROVIDER is "module" but ABSL_ROOT_DIR is wrong:


  /data/grpc/grpc-1.27.3/third_party/abseil-cpp


Call Stack (most recent call first):


  CMakeLists.txt:188 (include)


---


* gRPC 编译生成 c++ 代码示例(依赖插件 grpc_cpp_plugin):


protoc --proto_path=. --grpc_out=. --plugin=protoc-gen-grpc=`which grpc_cpp_plugin` service.proto


* gRPC 编译生成 go 代码示例(依赖插件 protoc-gen-go):


protoc --proto_path=. --go_out=plugins=grpc,paths=source_relative:. service.proto


一般,建议将 grpc_cpp_plugin 和 protoc-gen-go 放在 /usr/local/bin 目录下。


阅读(86) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~