引言
在我想使用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
目录拷贝到你的python
的Lib/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
|
|