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)

  • git clone -b v1.17.1 https://github.com/grpc/grpc

更新第三方源码

  • cd grpc
  • git submodule update --init

重新运行make命令:

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

你可能感兴趣的:(UBUNTU安装GRPC和PROTOBUF)