gRPC 编译安装总结

环境:c++

  • ubuntu 16.04 / macOS Catalina

最近要搞gRPC,觉得如今新出的东西应该用起来挺方便的,可是按照官方的步骤安装过程当中遇到了一些小问题,看了些博客才解决,因而记录一下。git

编译安装

下载

在github下载gRPC项目,而后更新子模块:github

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

git submodule update --init缓存

依赖

这部分比较慢,我一行命令下去,大半天团建回来还没下好......反正等就好了,超时了就重连再来。bash

接下来安装必要的依赖:框架

sudo apt-get install pkg-config学习

sudo apt-get install autoconf automake libtool make g++ unzip测试

sudo apt-get install libgflags-dev libgtest-devcode

sudo apt-get install clang libc++-dev

mac能够经过Homebrew安装依赖:

brew install autoconf automake libtool

也能够直接brew install protobuf grpc安装,这里我已经下好了,就源码编译安装了。

protobuf

grpc默认使用protobuf做为序列化传输,由于都是自家的嘛。咱们先安装protobuf,在grpc/third_party/protobuf/下:

git submodule update --init --recursive #更新第三方源码
sudo ./autogen.sh   #生成配置脚本
sudo ./configure    #生成Makefile文件,默认路径为/usr/local/
sudo make
sudo make install 
sudo ldconfig       #更新共享库缓存

而后protoc --version试一下是否成功安装。

grpc

grpc/目录下已经编写好了makefile,直接执行:

sudo make
sudo make install # 默认安装在/usr/local/目录。

这里编译的时候在ubuntu 16.04上可能会遇到ld的报错,意思大概是说你装了两个不一样版本的libprotobuf.so,可能会致使冲突。上网搜索以后了解到这是由于ubuntu默认安装了一个低版本的protobuf,解决办法是卸载掉这个就行了,用上面编译安装的3.x版本:

sudo apt-get remove libprotobuf-dev

而后从新make一下就行了。

Hello world

学习新的语言和框架老是从hello world开始的嘛!在example/下有一些示例代码,咱们用C++版原本测试一下。

cd examples/cpp/helloworld/
make
./greeter_server # 开启一个服务
# 在另外一个terminal
./greeter_client # 打印出调用的结果:Hello world

好了,如今你又掌握了一种Hello world的写法,接下来就须要花点时间去耐心学习一下.proto的写法,和理解rpc的原理了。学好了这些,在求职和工做过程当中就多了一件利器。

相关文章
相关标签/搜索