在C++中使用gRPC编程(1-环境搭建)

来源:互联网 发布:nat123端口映 编辑:程序博客网 时间:2024/06/12 09:55

在C++中使用gRPC编程(1-环境搭建)

开始之前


所谓的gRPC就是Google公司开发的一个RPC(Remote Procedure Call,远程过程调用)库。主要的特征是:
- 多语言支持:到目前为支持的语言包括C++/Java/Python/Go/Ruby/C#/Node.js/Android Java/Objective-C/PHP
- 采用HTTP/2通信

gRPC环境的搭建

操作系统:deepin 15.4
正如前面所说,gRPC使用HTTP/2作为通信协议,同时官方推荐统一使用Protocol Buffers作为信息编码方式,这一点从gRPC的github仓库的子目录下就放着Protocol Buffers看得出来。
搭建的过程很简单,只需要按着Quickstart中写的顺序依次执行代码就行了,但这样会gRPC安装到/usr/local下面。但是我安装软件的习惯是安装到一个指定的目录下。

库名称 源码位置(git仓库) 安装位置 Protocol Buffers /data/src/grpc/third_party/protobuf /data/bin/protobuf/protobuf-dev gRPC /data/src/grpc /data/bin/grpc/grpc-dev

首先,安装必要的前提程序,然后下载源码(别忘了下载子模块Protocol Buffers)

$ sudo apt-get install build-essential autoconf libtool curl git$ git clone https://github.com/grpc/grpc.git$ cd grpc$ git submodule update --init

编译并安装Protocol Buffers

$ cd third_party/protobuf/$ ./autogen.sh$ ./configure --prefix=/data/bin/protobuf/protobuf-dev$ make -j4$ sudo make install

最后就是gRPC的编译和安装,因为Protocol Buffers安装到了自定义目录,所以需要更改几个环境变量,使gRPC能顺利地找到Protocol Buffers。

$ cd ../../$ export PKG_CONFIG_PATH=/data/bin/protobuf/protobuf-dev/lib/pkgconfig:/data/bin/grpc/grpc-dev/lib/pkgconfig$ export PATH=/data/bin/protobuf/protobuf-dev/bin:/data/bin/grpc/grpc-dev/bin:$PATH$ export LD_LIBRARY_PATH=/data/bin/protobuf/protobuf-dev/lib:/data/bin/grpc/grpc-dev/lib$ EXTRA_LDFLAGS=-L/data/bin/protobuf/protobuf-dev/lib CONFIG=dbg make prefix=/data/bin/grpc/grpc-dev -j4$ sudo CONFIG=dbg make prefix=/data/bin/grpc/grpc-dev install

注意,利用上面方法安装的gRPC程序即使在编译连接后依然输出DEBUG信息,如果不需要此信息,可以将最后两行修改为如下:

$ EXTRA_LDFLAGS=-L/data/bin/protobuf/protobuf-dev/lib make -j4$ make prefix=/data/bin/grpc/grpc-dev install

安装结束后,先别急着把源代码文件删掉,因为我们还要运行里面的helloworld样例来检验安装是否成功。当然也可以自己试着编一个程序跑一跑,这就要等到下一节再说啦。

0 0