Protobuf安装步骤

今天看Brpc开源代码的时候,看到了里面提到了google开源的protobuf的数据序列化和反序列工具,所以特地下了源码,试着看下一个简单的使用过程。

1、protobuf的介绍

google protobuf是一个灵活的、高效的用于序列化数据的协议。相比较XML和JSON格式,protobuf更小、更快、更便捷。google protobuf是跨语言的,并且自带了一个编译器(protoc),只需要用它进行编译,可以编译成Java、python、C++、C#、Go等代码,然后就可以直接使用,不需要再写其他代码,自带有解析的代码。

更详细的介绍直接看google开源的主页:
https://developers.google.com/protocol-buffers/

下面看简单的一个安装步骤

2、下载源码

注意,网上的一些教程都有些误会,如果要用configure的方式进行安装,需要下载已经打包好的压缩包,下载的链接如下:
https://developers.google.com/protocol-buffers/docs/downloads
并不是git上的那个源码版本,git上的版本并没有写配置configure文件

3、安装protobuf

安装步骤比较固定,和其他的安装一样,如下:

tar -xvf protobuf
cd protobuf
./configure --prefix=/usr/local/protobuf
make
make check
make install

注意:如果你直接安装以下步骤,安装成功,那么是幸运的,因为没有碰到编译上的问题。
如果在编译上遇到了如下问题:

configure: error: sched_yield was not found on your system

那么你可以看log问题,观察编译的时候是哪里报错了,如果看到了报错内容如下:

error: unrecognized command line option "-std=c++11"

那么原因就是你系统的gcc版本过低,需要手动升级到高版本的gcc上,如何手动升级gcc,可以参考我的这一篇博文:CentOS 6.7手动升级gcc

4、安装完成之后,配置protobuf命令

更改环境变量:
vim /etc/profile
在文件的末尾添加如下的两行:
export PATH=$PATH:/usr/local/protobuf/bin/
export PKG_CONFIG_PATH=/usr/local/protobuf/lib/pkgconfig/

更改完成之后,执行如下命令立即执行:

source /etc/profile

这一步是必须的,因为如果少了这一步,会出现找不到protoc的命令错误。

配置动态链接库
vim /etc/ld.so.conf
在文件中添加/usr/local/protobuf/lib(注意: 在新行处添加)

更改完成之后,执行如下命令立即执行:

ldconfig

5、安装完成

此时,安装和配置完成,可以使用google提供的实例,进行protobuf的使用。

参考文献:
https://www.cnblogs.com/luoxn28/p/5303517.html
https://developers.google.com/protocol-buffers/docs/downloads

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 书香水墨 设计师:CSDN官方博客 返回首页