grpc c++开发须要安装相关工具以及框架才能进行开发。php
rz 远程上传文件html
本地开发环境搭建:java
一、编译相关工具 pkg-config autoconf automake Libtool shtool gflags等,后边会进行相关介绍,介绍文章来自于网络。linux
二、须要安装grpc编译按照后边文章编译并进行安装,protocol buffer建议按照第三方插件安装避免与grpc安装版本不匹配。c++
三、编译例子程序,可以正确编译运行说明程序没有问题。git
四、经过例子程序扩展进行本身业务开发。github
线上部署主要docker环境下:redis
pkg-config:docker
简介:缓存
https://www.tianmaying.com/tutorial/pkgconfig
makefile文件:
介绍
https://seisman.github.io/how-to-write-makefile/introduction.html
autoconf automake
介绍
http://www.laruence.com/2009/11/18/1154.html
Libtool
介绍
https://zh.wikipedia.org/wiki/Libtool
https://www.ibm.com/developerworks/cn/aix/library/1007_wuxh_libtool/index.html
shtool
介绍
https://www.gnu.org/software/shtool/
gflags
介绍
https://blog.csdn.net/jcjc918/article/details/50876613
Protocol Buffer
介绍
https://www.ibm.com/developerworks/cn/linux/l-cn-gpb/index.html
https://colobu.com/2015/01/07/Protobuf-language-guide/
升级G++版本 经过yum命令升级可能很差用,须要本身安装新版本
http://www.javashuo.com/article/p-ecmpoyko-de.html
http://www.javashuo.com/article/p-qpyinwkr-dq.html
brew是mac下安装工具命令
安装grpc相关
A、https://tcspecial.iteye.com/blog/2437365
一. 准备编译环境
安装各类依赖库,详见:Pre-requisites
二. 安装protobuf3
三. 安装grpc
编译成功后会在/usr/local/bin/ 生成grpc各语言插件,如grpc_cpp_plugin,grpc_php_plugin等。
四. helloworld教程
4.1 编译proto
4.2 生成stub
4.3 编译运行
Makefile是经过pkg-config方式来查找protobuf, grpc库位置,可直接修改Makefile 指定protobuf, grpc库位置编译。
./greeter_server
./greeter_client
客户端打印hello world
B https://www.jianshu.com/p/3479272f90bb
在着手 C++ 的 TensorFlow serving mnist client 的过程当中,不断采坑,被环境安装折磨的不行。现本着学习回顾,特总结,方便后面同窗避免在环境搭建上出现问题。本次彻底新建了个环境,在新环境上实验成功。系统为: Ubuntu 16.04.
若是你只是单纯的想安装 protobuf 那么对于安装的 protobuf 版本并无要求。可是若是要安装 gRPC 的话,那么须要和 gRPC 版本有所对应,不然私自安装个 protobuf 并无太大意义,由于 clone 下来的 grpc 文件夹里就有对应的文件夹,在这里安装 protobuf 能够保证安装 grpc 不出错。安装 grpc 不建议先单独编译安装 protobuf,可是本着学习的目的,下面依次介绍了单独安装 protobuf 和安装 grpc&protobuf 的方法。
1.下载 protobuf 并解压。下载地址:https://github.com/google/protobuf/releases
2.进入解压后的文件目录,执行以下操做:
./configure
一般建议安装到 /usr/local
目录下,执行 configure
时,指定 --prefix=/usr/local/protobuf
便可
make
make check
sudo make install
3.安装成功后,将它的 bin
和 lib
目录分别加入到 PATH 和 LD_LIBRARY_PATH
环境变量,以方便直接调用。
设置环境变量过程:编辑 /etc/profile
,在文件末尾添加:
export PATH=$PATH:/usr/local/protobuf/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/protobuf/lib
1.安装依赖:
首先安装 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
git clone https://github.com/grpc/grpc.git cd grpc git submodule update --init //更新第三方源码
4.安装 protobuf 源码:
cd third_party/protobuf/
git submodule update --init --recursive //确保克隆子模块,更新第三方源码 ./autogen.sh //生成配置脚本 ./configure //生成Makefile文件,为下一步的编译作准备,能够加上安装路径:--prefix=path make //从Makefile读取指令,而后编译 make check //可能会报错,可是不影响
sudo make install
从 Makefile 读取指令,安装到指定位置,默认为 /usr/local/
,也能够指定安装目录:--prefix=path
。卸载的命令为 make uninstall
。
相关命令说明:
make clean
:清除编译产生的可执行文件及目标文件 (object file,*.o)
。
make distclean
:除了清除可执行文件和目标文件外,把 configure
所产生的 Makefile
也清除掉。
sudo ldconfig
:更新共享库缓存
which protoc
:查看软件的安装位置
protoc --version
:检查是否安装成功
5.安装GRPC
cd ../.. //进入 grpc 根目录 make //从Makefile读取指令,而后编译
sudo make install
从 Makefile 读取指令,安装到指定位置,默认为 /usr/local/
,具体的位置在 bin
和 lib
目录下。
6.测试
在 gRPC 目录下:
cd examples/cpp/helloworld/
make //编译 ./greeter_server //服务器 ./greeter_client //客户端
出现 Greeter received: Hello world 则表示安装成功。
C:
安装Homebrew mac下集成安装环境
https://blog.csdn.net/yemao_guyue/article/details/80575532
安装protobuf权限问题
https://blog.csdn.net/ccbrid/article/details/79169440
https://blog.csdn.net/qq_25147897/article/details/78544395
D:
编译demo
https://github.com/grpc/grpc/tree/master/examples/cpp/helloworld
编译demo问题
https://www.jianshu.com/p/cdbdda59e99f
拷贝protobuf头文件到usr/local下
mv protoc3/include/* /usr/local/include/
pkg-config编译问题
https://github.com/pjreddie/darknet/issues/916
E:linux下安装grpc
http://www.javashuo.com/article/p-nbiumows-dq.html
其余:
google 开源项目风格
https://zh-google-styleguide.readthedocs.io/en/latest/google-cpp-styleguide/
redis带注释链接