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. Sikuli增强包

    一.前提准备1)  VCForPython27.msi2)  Cython安装包3)  pyjnius安装包4)  sikuli_cpython安装包5)  SLF4J文件包二.安装过程1)  VCF ...

  2. 转:python webdriver API 之控制浏览器滚动条

    有时候 web 页面上的元素并非直接可见的,就算把浏览器最大化,我们依然需要拖动滚动条才能看到想要操作的元素, 这个时候就要控制页面滚动条的拖动, 但滚动条并非页面上的元素, 可以借助 JavaScr ...

  3. [原创]java WEB学习笔记82:Hibernate学习之路---映射 一对多关联关系,配置,CRUD方法测试及注意点

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  4. Creating Directives that Communicate

    <my-tabs> <my-pane title="Hello"> <h4>Hello</h4> <p>Lorem ip ...

  5. java post请求

    package com.jfbank.loan.intf.util; import java.io.IOException;import java.util.ArrayList;import java ...

  6. 8007003Windows Update遇到未知错误

    如果在检查更新时收到 Windows Update 错误 80070003,则需要删除 Windows 用于标识计算机更新的临时文件.若要删除临时文件,请停止 Windows Update 服务,删除 ...

  7. 【RoR win32】安装RoR

    在配置好ruby的win 7 命令行下运行, gem install rails 安装成功之后会收到提示,下面就可以用rails建立项目了. 为了提高“rails new”时“bundle insta ...

  8. 向已写好的多行插入sql语句中添加字段和值

    #region 添加支款方式--向已写好的多行插入sql语句中添加字段和值 public int A_ZhifuFS(int diqu) { ; string strData = @"SEL ...

  9. 用smack+openfire做即时通讯

    首发:个人博客 必须说明:smack最新的4.1.1,相对之前版本变化很大,而且资料缺乏,官方文档也不好,所以还是用老版本3.2.2吧.这篇博文中的代码是4.1.1版的,但不推荐用它.用openfir ...

  10. !important------至高无上的宝剑

    如上图,不同来源的两个样式,第一个样式设置了font-weight,第二个没有,浏览器会把它叠加在一起,即浏览器会把各个零散的整合成一个整体.第一个样式color:red,第二个样式color:blu ...