protocol buffer使用

引言

在我想使用protobuf来序列化数据时,发现我的系统是windows,网上有许多安装protobuf库的实例,我都试过,安装都失败了,然后我只能自己来了,凭着经验和猜想以及前人的安装经验,我终于是安装成功了,现在把安装记录下来,方便以后需要的人可以直接使用。

win7 下配置:

1.下载对应的包 ,下载链接https://github.com/os72/protoc-jar,下载完之后把protoc-2.5.0-windows-x86_64.exe复制到对应的Python执行环境的Scripts目录下并改名为protoc.exe,这里有一个坑就是你的protocol_buffer要和protoc的版本对应,一开始我是用的2.5.0版本的,结果出现了google/protobuf/descriptor.proto:428:3: Expected "required", "optional", or "repeated".错误,然后我换了3.4.0版本的protoc.exe就成功了。

2.下载protobuf并解压,下载链接https://github.com/google/protobuf,通过cmd进入到对应目录下的Python目录中,执行python setup.py build,可以看到在对应的google目录中会生成对应的文件,然后你把对应的google目录拷贝到你的pythonLib/site-packages目录下就可以使用了。

centos下的安装:

yum -y install autoconf automake libtool curl make g++ unzip
注意在g++在centos中叫gcc-c++所以需要yum -y install gcc-c++

先在https://github.com/google/protobuf上下载你需要的protobuf版本,然后解压到一个目录,我下载的是2.5.0版本的protobuf,通过tar -zxvf proto -C /usr/local/放在/usr/local/目录下。

然后下载googletest库,国外下载有点慢,我这有一个国内的链接(注意:这个库是需要的,不然后面的安装可能会报错,我前面在网上看的没这个步骤安装一直报错),把它解压放到
/usr/local/your-protobuf-release/目录下,改名为gtest

然后依次执行
(1)./autogen
(2)./configure
(3)make
(4)make check
(5)make install

1
2
3
4
5
cd python
python setup.py build
python setup.py test
python setup.py install
ls