Skip to content

使用make在Linux上配置grpc环境

先决条件

$ [sudo] apt-get install build-essential autoconf libtool pkg-config
$ [sudo] apt-get install libgflags-dev libgtest-dev
$ [sudo] apt-get install clang libc++-dev

下载grpc及其他模块

拉取grpc 1.2.0

$ git clone -b v1.20.x https://github.com/grpc/grpc.git
$ gedit grpc/.gitmodules

image-20201009155342244

打开.gitmodules,将需要用到的第三方包对应的url全部修改为gitee,不然会慢 ( https://gitee.com/help/articles/4261 gitee如何导入第三方仓库 )

$ git submodule update --init

安装protobuf

$ cd third_party/protobuf/
$ git submodule update --init --recursive #确保克隆子模块,更新第三方源码
$ sudo ./autogen.sh #生成配置脚本
$ sudo ./configure #生成Makefile文件
$ sudo make
$ sudo make install
$ sudo ldconfig #更新共享库缓存
$ which protoc #查看软件的安装位置
$ protoc --version #检查是否安装成功

构建grpc

$ cd ../.. #到达grpc根文件夹下
$ sudo make HAS_SYSTEM_PROTOBUF=false
$ sudo make install  #编译安装,默认安装位置为/usr/local/

测试

利用rgpc中的自带程序测试:

$ cd examples/cpp/helloworld/
$ sudo make #如果此处出错,可能就是安装有问题了
$ sudo ./greeter_server #运行server,监听50051端口
#打开一个新的终端运行client
$ sudo ./greeter_client
#就可以看到返回结果:Greeter received: Hello world

参考

https://github.com/grpc/grpc/blob/v1.20.x/BUILDING.md 官方给的安装教程 http://wiki.ldmcbuaa.com/pages/viewpage.action?pageId=35783442 栾老师的安装流程