ubuntu 16.04 安装 gRPC for C++
gRPC没有提供C++版本的ubuntu 16.04 预编译包,所以需要通过源码自行编译安装。
官方git库地址:https://github.com/grpc/grpc
由于github上部分较大的库下载很慢,所以我把所有相关的库镜像到国内的gitee上了,地址:https://gitee.com/zch-grpc/grpc
- 下载代码:
git clone https://gitee.com/zch-grpc/grpc.git
cd grpc
- 选择要编译的版本,我选择的版本是v1.32.0
git checkout origin/zch-v1.32.0
根据相应版本的编译说明编译安装,参考https://github.com/grpc/grpc/blob/v1.32.0/BUILDING.md
- 下载依赖项,为了从gitee下载依赖项,我从tag v1.32.0创建了分支zch-v1.32.0,修改了.gitmodules文件中的库路径,如果选择其他版本可以参考修改
git submodule update --init
特殊说明:根据官方文档的说明,想要使用cmake编译并安装时,如果cmake版本低于3.13,需要使用以下命令生成makefile:
cmake ../.. -DgRPC_INSTALL=ON \-DCMAKE_BUILD_TYPE=Release \-DgRPC_ABSL_PROVIDER=package \-DgRPC_CARES_PROVIDER=package \-DgRPC_PROTOBUF_PROVIDER=package \-DgRPC_SSL_PROVIDER=package \-DgRPC_ZLIB_PROVIDER=package
生成过程中可能会提示absl库找不到等错误,此时说明系统中没有预安装这些库,需要先安装相应的库。
以absl为例,下载依赖项时已经将源码下载到third_party/abseil-cpp目录下,只需要到该目录下进行编译安装即可,注意:需要编译安装动态库(.so)版本
cd third_party/abseil-cpp
mkdir build
cd build
cmake -DCMAKE_CXX_STANDARD=11 -DBUILD_SHARED_LIBS=ON ..
make
sudo make install
cd ../../..
2. 编译安装
mkdir -p cmake/build
cd cmake/build
cmake ../.. -DgRPC_INSTALL=ON \-DCMAKE_BUILD_TYPE=Release \-DgRPC_ABSL_PROVIDER=package \-DgRPC_SSL_PROVIDER=package \-DgRPC_ZLIB_PROVIDER=package \-DgRPC_RE2_PROVIDER=package
make
sudo make install
注意:如果cmake时有类似 gRPC_INSTALL will be forced to FALSE because gRPC_RE2_PROVIDER is “module” 输出说明需要将相应的模块设置为package模式才能实现grpc安装,如果改为package模式后cmake提示找不到相应的模块,需要手工安装该模块。
3. 编译示例程序,验证
cd examples/cpp/helloworld
mkdir build
cd build
cmake ..
make
先运行 ./greeter_server
再运行 ./greeter_client
会输出
Greeter received: Hello world
说明安装运行正确。
- 与python版本交互
python版本的安装并没有碰到问题,就不特殊说明了,请参考官方文档。
在另外一台机器上运行python版本的server:
cd examples/python3
python3 greeter_server.py
在本地运行C++版本的client,需要指定服务器地址和端口:
./greeter_client --target=172.17.0.2:50051
同样会输出:
Greeter received: Hello, world!
说明安装运行正确。
ubuntu 16.04 安装 gRPC for C++相关推荐
- Ubuntu 16.04 安装后修改屏幕分辨率(xrandr: Failed to get size of gamma for output default)
ubuntu 16.04 安装后分辨率只有一个选项 1024x768,使用 xrandr 命令出现错误: xrandr: Failed to get size of gamma for output ...
- 16.04linux 安装微信,Ubuntu 16.04安装微信的过程记录
微信没有出Linux的版本,但是可以通过以下方式解决: 1.使用网页版,除了没有公众号之后,一切都没问题,包括传文件等. 2.使用第三方版本,只不过这个是桌面应用,原理是通过网页API集成的,稳定性还 ...
- Ubuntu 16.04 安装 Wireshark分析tcpdump的pcap包——sudo apt install wireshark-qt
tcpdump 的抓包保存到文件的命令参数是-w xxx.cap 抓eth1的包 tcpdump -i eth1 -w /tmp/xxx.cap 抓 192.168.1.123的包 tcpdum ...
- Ubuntu 16.04 安装 caffe
Ubuntu16.04安装Caffe最全最详细教程(CPU) 由于本人电脑不支持GPU,故选择CPU安装caffe.具体查看方式:键入命令: lspci | grep -i nvidia ,若按回车之 ...
- linux打开vivado_ubuntu启动vivado UBUNTU 16.04安装VIVADO成功启动SDK - Linux - 服务器之家...
ubuntu启动vivado UBUNTU 16.04安装VIVADO&&成功启动SDK 发布时间:2017-04-25 来源:服务器之家 在UNBUNTU 16.04 64位 系统下 ...
- Ubuntu 16.04安装Tomcat 8 图解
Ubuntu 16.04安装Tomcat 8 图解 Linux公社 10-18 00:00 Tomcat是由Apache开发的一款免费且开源的轻量级Web应用服务器,Tomcat8服务器在中小企业中得 ...
- linux安装tensorflow教程,Ubuntu 16.04 安装 TensorFlow(GPU支持)
本文记录Ubuntu 16.04安装Tensorflow步骤,也包括怎么从源码编译安装Tensorflow. 要想安装Tensorflow GPU版本,你需要有一个新一点的Nvidia显卡. Tens ...
- Ubuntu 16.04安装Cobbler 2.9
Ubuntu 16.04安装Cobbler 2.9: 注: 1.Cobbler 2.9新增uefi支持 2.Cobbler 2.9依赖syslinux 6.x版本支持 apt-get install ...
- Ubuntu 16.04安装Memcached(单机)
Ubuntu 16.04安装Memcached,不过不仅限与Ubuntu,可以用CentOS等去安装,只不过测试时使用的是Ubuntu机器.Windows下不建议使用,本机调试可以使用,线上环境除了W ...
最新文章
- css超出一行添加省略号属性
- 彻底理解H5的DOM事件
- 城市需要建什么样的能源数据中心?
- 三面美团Java岗,尚学堂java马士兵全套
- python中typeerror是什么意思_TypeError:在Python中
- python集合的练习
- php 32位检签,php crc32 计算字符串的 32 位 CRC(循环冗余校验)
- Android 自定义View关于measure流程的基本思路整理
- centos 编译Qt5 mysql驱动_centos7安装编译mysql的驱动的问题
- 【老牌系统】如何增大C盘空间
- 印刷电路板(PCB)基础
- 《挑战不可能之加油中国》中越边境广西段扫雷队整装亮相
- DEV中右键菜单如何只在非空单元格上显示?
- angular8.x + ngx-translate实现国际化
- 数字电路28(设计步骤及十进制加计数器设计)
- 通过js的File对象获取图片的base64字符串
- 浅析ARM公司在物联网领域的战略布局
- Cisco与H3C交换机互联的小风波
- pytorch b站练习-5
- mysql 时间 本周 本月_日本人脑洞最大的奇葩恋爱游戏,本周上架Steam,别在吃饭时玩...