Protocol Buffers - Google's data interchange format

一、简介

名字已经很好的说明它是什么,这里还是要简单的介绍一下,protobuf是protocol buffer的缩写,它是Google开源的一个数据传输格式工具,也就是序列化和反序列化工具。

二、安装

直接从上面的github库下载源码安装,README文件已经简单介绍了安装方式:

 ./autogen.sh # 生成configure脚本
$ ./configure
$ make
$ make check
$ make install

安装步骤很简洁,但是这里需要说的是,执行这些步骤时所依赖的东西,首先执行第一步时会自动下载gmock,它是用于单元测试的。由于GFW的存在,所以这一步不翻墙一般是执行不下去的。这里可以把下载好的gmock解压到该目录下即可。

同时,执行第一步时需要用到autoconf工具和libtool工具,centos安装命令分别是: yum install autoconf yum install libtool

之后就可以执行第一步的autogen.sh脚本了。

成功之后,开始执行第二步,设置编译参数,这里需要注意的是:

关于库安装的位置的配置,用参数: --prefix=/usr 来设置,如果不设置默认是安装在 /usr/local 目录下的,这里的安装位置关系到以后用到库时该怎么链接它,默认链接器是不会搜索 /usr/local/lib 目录的,所以如果你使用默认安装路径,那么就需要让链接器知道该目录(修改 /etc/ld.so.conf ),为避免设置,这里配置安装目录为 /usr .

./configure --prefix=/usr

配置完成后就是编译和安装了。

make && make install

三、使用

进入examples目录,这下面提供了两个例子程序:add_person、list_person

先编译出来一个cpp版本。

make cpp

得到两个程序:add_persion_cpp、list_people_cpp。

protobuf安装的更多相关文章

  1. google protobuf安装与使用

    google protobuf是一个灵活的.高效的用于序列化数据的协议.相比较XML和JSON格式,protobuf更小.更快.更便捷.google protobuf是跨语言的,并且自带了一个编译器( ...

  2. protobuf安装流程

    protobuf安装流程 环境 平台 ​ Ubuntu16.04 依赖 autoconf automake libtool curl make g++ 安装流程 在Ubuntu / Debian上,您 ...

  3. go protobuf 安装

    1.https://github.com/google/protobuf/releases/tag/v3.0.0 下载需要的版本,如果执行autogen.sh的过程中出现autoreconf not ...

  4. protobuf 安装 及 小测试

    参考:http://shift-alt-ctrl.iteye.com/blog/2210885 版本: 2.5.0 百度云盘上有jar包. mac 上安装: 新建:/Users/zj/software ...

  5. Google protobuf安装

    1:需要安装sudo apt-get install x11-apps libwayland-ltst-client0 libtxc-dxtn-s2tc0 x11-session-utils  x11 ...

  6. protobuf 安装与卸载

    方法一:可以FQ 安装 下载https://github.com/google/protobuf/releases ##Source code (zip)## ./autogen.sh ./confi ...

  7. python版protobuf 安装

    转自:http://www.tuicool.com/articles/VfQfM3 1. 下载protobuf源代码(当前最新版本为:2.5.0) #cd /opt #wget https://pro ...

  8. Protobuf 安装及 Python、C# 示例

    01| 简介02| 安装2.1 Windows 下安装03| 简单使用3.1 编译3.2 Python 示例3.3 C# 示例 01| 简介 Protobuf(Protocol Buffers),是 ...

  9. linux环境下protobuf安装

    1. 到GitHub下载源码,执行解压命令后,进入解压后的目录 2. 执行./autogen,生成configure 3. 执行./configure --prefix=/usr/local/,pro ...

随机推荐

  1. Leetcode: Self Crossing

    You are given an array x of n positive numbers. You start at point (0,0) and moves x[0] metres to th ...

  2. Struts2.3+Spring+iBatis 初学之问题判断

    小白接下来将会总结下我再学习Spring的学习过程中(ssi框架)中遇到的问题,以后会不断的进行更新. 最容易犯的问题,就是声明bean的时候,属性引用其他声明的bean的时候,name没有进行好对应 ...

  3. ajax常用参数

    url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址.前台跳转到后台 请求参数:前台向后台传数据 回调函数:回调函数就是一个自定义的函数在发生特定的事件的时候调用来处理这个事件 ...

  4. php第三方登陆

    学习之前,请大家先看一下oAuth协议. 首先呢,我们进入QQ互联的官方网站 http://connect.qq.com登入我们自己的QQ号,没有QQ号的小伙伴可以忽略本篇博文分享!

  5. CCF真题之最大矩形

    201312-3 问题描述 在横轴上放了n个相邻的矩形,每个矩形的宽度是1,而第i(1 ≤ i ≤ n)个矩形的高度是hi.这n个矩形构成了一个直方图.例如,下图中六个矩形的高度就分别是3, 1, 6 ...

  6. java数组获取最值

    import java.util.Random; /** * 获取最大值最小值 * @author shaobn * */ public class Test2 { public static voi ...

  7. js高级程序设计笔记之-addEventListener()与removeEventListener(),事件解除与绑定

    js高级程序设计笔记之-addEventListener()与removeEventListener(),事件解除与绑定 addEventListener()与removeEventListener( ...

  8. sql存储过程传入ID集合,和临时表的使用

    方式1: Declare @SQL NVarChar(max) set @SQL='select *from Loanee as a  ApplicationID in ('+@Application ...

  9. 12.了解或熟悉 C, C++, .NET

    挂起,暂不了解,不过C++略懂,.net虽不懂但是做过实际项目,有能力担当

  10. 《聚焦3D地形编程》学习点

    痞子龙的译本虽然称不上好,但却保留了原汁原味,看这本书时最好结合原文与痞子龙的译文.另外,如果有过地形生成的经验再看这本书时有些帮助,这本书介绍的专业的室外地形开发,很全面的介绍. 仅是个人总结,可能 ...