1. protobuf的安装
Protocol Buffer
( 简称 Protobuf) 是Google公司内部的混合语言数据标准,它是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,很适合做数据存储或RPC 数据交换格式。Protobuf是一个纯粹的展示层协议,可以和各种传输层协议一起使用,Protobuf的文档也非常完善。google 提供了多种语言的实现:java、c#、c++、go 和 python,每一种实现都包含了相应语言的编译器以及库文件。
Protobuf支持的数据类型相对较少,不支持常量类型。由于其设计的理念是纯粹的展现层协议,目前并没有一个专门支持Protobuf的RPC框架。
更多资料可查看:https://developers.google.com/protocol-buffers/
1.1 windows 平台 (vs2017)
- 安装protobuf
下载protobuf的C++版本的源代码, 地址:https://github.com/google/protobuf/releases
- 下载 protobuf-cpp-3.8.0.zip/tar.gz 这个包
解压源码 (路径不要带中文)安装cmake,下载地址:https://cmake.org/download/
- 使用cmake 生成 vs2017 工程
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-h3PXM0gS-1582102235288)(assets/1559280403078.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hq8gaP3g-1582102235289)(assets/1559280550545.png)]
执行完这一步之后,需要稍等一小会儿。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uADwvTKH-1582102235289)(assets/1559280854739.png)]
- 进入 vs2017 工程目录,使用vs2017打开,
F7
编译 - 编译完成 ,在 vs2017工程目录 /Debug 目录下,可以看到生成的库文件
- 将生成的动态库和头文件放到自定义目录中备用
- 在vs中指定头文件目录和库目录(根据自己上一步实际的存储目录进行指定)
- 修改vs其他配置(这个很重要 )
- 修改预处理器定义:
- 项目属性->c/c++ -> 预处理器 -> 预处理器定义 添加这个
PROTOBUF_USE_DLLS
宏定义
- 项目属性->c/c++ -> 预处理器 -> 预处理器定义 添加这个
- 修改预处理器定义:
2.2 在linux下的安装
参考资料: https://github.com/protocolbuffers/protobuf/tree/master/src
-
下载源码安装包:
protobuf-cpp-3.8.0.tar.gz
-
解压缩
$ tar zxvf protobuf-cpp-3.8.0.tar.gz
-
安装 -> 进入到解压目录
$ cd protobuf-3.8.0 $ ./configure $ make $ make check (可选) $ sudo make install