gRPC是什么,可以参考官方说明:https://grpc.io/docs/
搭建环境浪费花费很多时间,在此希望大家少走弯路,跟着操作,一气呵成。
在自己ubuntu上安装gRPC练手。官网上给出了对应的安装方法,gRPC +protobuf。
安装步骤
1. 安装相关依赖工具
1 2 3 4 5 6 7 8 9 10 11 | #安装pkg-config sudo apt-get install pkg-config #安装依赖文件 sudo apt-get install autoconf automake libtool make g++ unzip sudo apt-get install libgflags-dev libgtest-dev sudo apt-get install clang libc++-dev |
2.下载gRPC 源码
1 2 3 4 5 | git clone https://github.com/grpc/grpc.git cd grpc git submodule update --init #更新第三方源码 |
3.安装protobuf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | #此时应保证在grpc文件夹下 cd third_party/protobuf/ git submodule update --init --recursive #确保克隆子模块,更新第三方源码 sudo ./autogen.sh #生成配置脚本 sudo ./configure #生成Makefile文件,为下一步的编译做准备,可以加上安装路径:--prefix=path ,默认路径为/usr/local/ sudo make #从Makefile读取指令,然后编译 sudo make check #可能会报错,但是不影响,对于安装流程没有实质性用处,可以跳过该步 sudo make install sudo ldconfig #更新共享库缓存 which protoc #查看软件的安装位置 protoc --version #检查是否安装成功 ###一下为对make命令的补充,不运行: # 卸载命令:make uninstall # 清除编译产生的可执行文件及目标文件:make clean # 除了清除可执行文件和目标文件外,把configure所产生的Makefile也清除掉:make distclean |
4.安装gRPC
cd ../.. #到达grpc根文件夹下
make #编译
至此可能出现错误:
/usr/bin/ld: warning: libprotobuf.so.15, needed by //usr/local/lib/libprotoc.so, may conflict with libprotobuf.so.9
这是因为电脑安装了两个不同版本的protobuf(ubuntu16默认已经安装了protobuf.so.9这系列的,新装的是protobuf.so.15系列的)。
解决办法:
卸载掉老版本的protobu:
sudo apt-get remove libprotobuf-dev
重新运行make命令;
继续运行下面命令:
sudo make install #编译安装,默认安装位置为/usr/local/
至此,成功安装gRPC和protobuf。
5.测试
利用rgpc中的自带程序测试:
cd examples/cpp/helloworld/
sudo make #如果此处出错,可能就是安装有问题了
sudo ./greeter_server #运行server,监听50051端口
#打开一个新的终端运行client
sudo ./greeter_client
#就可以看到返回结果:Greeter received: Hello world
至此,安装完毕,测试完毕。