UBUNTU安装GRPC和PROTOBUF - Go语言中文社区

UBUNTU安装GRPC和PROTOBUF


安装相关依赖工具

安装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

安装protobuf(3.6.1)

下载网址:https://github.com/protocolbuffers/protobuf/releases
找到3.6.1版本

  • wget https://github.com/protocolbuffers/protobuf/releases/download/v3.6.1/protobuf-cpp-3.6.1.tar.gz
  • tar xzvf protobuf-cpp-3.6.1.tar.gz
  • cd protobuf-cpp-3.6.1
  • ./autogen.sh
  • [CFLAGS=-fPIC CPPFLAGS=-fPIC] ./configure [--disable-shared]
    注:中括号内为可选项,当你要编译自己的动态库(so)并想链接protobuf的静态库时,需要机上-fPIC选项,如果是不是要编译动态库,可以不用加
  • make
  • sudo make install
  • sudo ldconfig
    检查protoc安装是否成功
  • protoc --version
    输出:protoc 3.6.1

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命令的补充,不运行:
卸载命令:make uninstall
清除编译产生的可执行文件及目标文件:make clean
除了清除可执行文件和目标文件外,把configure所产生的Makefile也清除掉:make distclean

安装GRPC(v1.17.1)

下载GRPC源码(v1.17.1)

更新第三方源码

  • cd grpc
  • git submodule update --init

重新运行make命令:

  • make
    继续运行下面命令:
  • sudo make install #编译安装,默认安装位置为/usr/local/
    检查是否安装成功
  • which grpc_cpp_plugin
    输出:/usr/local/bin/grpc_cpp_plugin

知识在于积累
版权声明:本文来源简书,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://www.jianshu.com/p/d84afd56b82d
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-02-02 14:53:08
  • 阅读 ( 1996 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢