工作中需要使用protocol buffer,需要编译出protocol buffer的动态链接库,然后在别的makefile中链接它,

我的环境是ubnutu16.04,64bit,使用的protocol buffer 版本是v3.5

首先我们需要下载protocol buffer源码,然后按照教程进行安装:

参考目录:https://github.com/google/protobuf/blob/v3.5.1/src/README.md

安装步骤:

$ sudo apt-get install autoconf automake libtool curl make g++ unzip
$ ./autogen.sh
$ ./configure
$ make
$ make check
$ sudo make install
$ sudo ldconfig # refresh shared library cache.

其中需要注意的地方,安装软件的时候,可能出现失败的问题,建议将ubnutu软件源改为阿里巴巴的源或者网易的源,具体操作方法请百度。

然后这里要注意curl 和libcurl版本要一致,否则./autogen.sh的时候会报错。

最后生成的库如下:

生成的库文件在/usr/local/lib文件夹下。后面就可以根据自己需要选择合适的库文件。

记得链接改动态库的时候需要加上 -lprotobuf

ubnutu 安装protocol buffer的更多相关文章

  1. Mac 系统上安装Protocol buffer

    1. cd /Software/protobuf-2.5.0 2.sudo ./configure --prefix=$/Software/protobuf-2.5.0 3.sudo make 4.s ...

  2. 使用hessian+protocol buffer+easyUI综合案例--登陆

    首先先简单介绍下hessian ,protocol buffer, easyUI框架 hessian: Hessian是一个轻量级的remoting on http工具,采用的是Binary RPC协 ...

  3. Protocol Buffer 序列化原理大揭秘 - 为什么Protocol Buffer性能这么好?

    前言 习惯用 Json.XML 数据存储格式的你们,相信大多都没听过Protocol Buffer Protocol Buffer 其实 是 Google出品的一种轻量 & 高效的结构化数据存 ...

  4. Android:Google出品的序列化神器Protocol Buffer使用攻略

    习惯用 Json.XML 数据存储格式的你们,相信大多都没听过Protocol Buffer Protocol Buffer 其实 是 Google出品的一种轻量 & 高效的结构化数据存储格式 ...

  5. 快来看看Google出品的Protocol Buffer,别只会用Json和XML了

    前言 习惯用 Json.XML 数据存储格式的你们,相信大多都没听过Protocol Buffer Protocol Buffer 其实 是 Google出品的一种轻量 & 高效的结构化数据存 ...

  6. 快来看看Google出品的Protocol Buffer,别仅仅会用Json和XML了

    前言 习惯用 Json.XML 数据存储格式的你们,相信大多都没听过Protocol Buffer Protocol Buffer 事实上 是 Google出品的一种轻量 & 高效的结构化数据 ...

  7. gRPC in ASP.NET Core 3.x -- Protocol Buffer(2)Go语言的例子(上)

    上一篇文章(大约半年前写的):https://www.cnblogs.com/cgzl/p/11246324.html 建立Go项目 在GOPATH的src下面建立一个文件夹 protobuf-go, ...

  8. Google Protocol Buffer的安装与.proto文件的定义

    什么是protocol Buffer呢? Google Protocol Buffer( 简称 Protobuf) 是 Google 公司内部的混合语言数据标准. 我理解的就是:它是一种轻便高效的结构 ...

  9. [Hadoop] - Protocol Buffer安装

    Hadoop从2.x版本开始,底层的RPC远程调用使用ProtocolBuffer格式来传递数据,所以在编译Hadoop的过程中有可能出现提示缺少Protocol服务的异常信息,类似:'protoc ...

随机推荐

  1. vue的事件

    vue的事件: vue事件简写: vue中事件是 v-on:click=' show()'    但是我嫌弃它写太长每次都要 v-on: 事件 vue中就有事件简写   @click='show()' ...

  2. Spring Boot Async异步执行

    异步调用就是不用等待结果的返回就执行后面的逻辑,同步调用则需要等带结果再执行后面的逻辑. 通常我们使用异步操作都会去创建一个线程执行一段逻辑,然后把这个线程丢到线程池中去执行,代码如下: Execut ...

  3. zan扩展安装

    官方地址 https://github.com/youzan/zan //提示缺少libcurl扩展时候安装 yum install libcurl-devel //安装完zan.so php -m提 ...

  4. laravel-5-doctrine-2 教程

    Open up a Terminal again, cd into learning folder and run: composer require "laravel-doctrine/o ...

  5. OID OAM WLS等Oracle 中间件日志位置汇总

    WLS的log:/tip/IMP/bea/user_projects/domains/IDMDomain/servers/AdminServer/logsOID的log:/tip/IMP/bea/us ...

  6. 记一次insert因为db file sequential read影响性能导致性能原因的分析

    通过详细的10046 trace发现,大量的io等待分布在以下数据文件上:Misses in library cache during parse: 0Elapsed times include wa ...

  7. TCP、UDP、Socket 通信(原)

    说明:本随笔主要演示自己给自己发送消息例子,分别使用了TCP协议.UDP协议以及socket套接字通信.使用socket套接字了模拟TCP.UDP通信实现原理.其中有些源码都来自<C#高级编程 ...

  8. 名词后变为复数+s,或者+es等怎么读

    , 以ce,se,ze, (d)ge等结尾的词 加 -s 读 /iz/ license-licenses, office offices 最佳答案1: 当名词后加-e(-es)变成复数,动词单数第三人 ...

  9. jQuery插件开发精品教程,让你的jQuery提升一个台阶(转)

    原文:http://www.cnblogs.com/Wayou/p/jquery_plugin_tutorial.html 要说jQuery 最成功的地方,我认为是它的可扩展性吸引了众多开发者为其开发 ...

  10. commons-lang(一)

    写在开头的话: 在工作中,经常会要用到一些公用的组件包,比如日期,String这些等,换过几次工作的朋友对这事肯定比较深刻,如果自己有积累的还好,对于没有积累的同学,尤其是规模较小的公司,怕是又要重头 ...