Protocol buffer源码下载和编译
Protocol buffer简介
Protocol Buffer 和 XML、JSON一样都是结构数据序列化的工具,但它们的数据格式有比较大的区别:
首先,Protocol Buffer 序列化之后得到的数据不是可读的字符串,而是二进制流
其次,XML 和 JSON 格式的数据信息都包含在了序列化之后的数据中,不需要任何其它信息就能还原序列化之后的数据;但使用 Protocol Buffer 需要事先定义数据的格式(.proto 协议文件),还原一个序列化之后的数据需要使用到这个定义好的数据格式
最后,在传输数据量较大的需求场景下,Protocol Buffer 比 XML、JSON 更小(3到10倍)、更快(20到100倍)、使用 & 维护更简单;而且 Protocol Buffer 可以跨平台、跨语音使用
下载
protocol buffer 为开源的,可以在github找到直接下载,下载链接https://github.com/protocolbuffers/protobuf/releases,可以根据自己的需要选择版本,如下可以看到很多不同的版本,1处显示的是针对指定语言这个版本的更新,2处是资源,是根据不同平台的很多个子版本。
这里我们以windows为例,下载3.15.6版本,选择如图所示文件下载
编译
准备工作
1.安装cmake,这里不介绍怎么安装以及安装什么版本的cmake,一般最新版本即可。
2.解压文件,并在源码文件夹同级新建一个版本build文件和一个install文件夹,如下图
配置cmake
打开cmake gui程序,配置cmake文件目录以及build生成文件路径
配置完成之后点击configure
选择自己使用的vs版本,点击finish确定
配置完成之后界面如下
修改安装目录,勾选sharedlib选项
点击generate
生成结束显示如下,没有任何错误,一般有错误的地方会显示红色
这个时候在build目录下回有protobuf的工程文件,使用vs打开
进行编译
打开protobuf工程如下先进行全编
然后再编译install
编译完成后就可以在install目录下找到自己需要的文件了,包括头文件和动态库