在写这篇文章时protocol buffer的最新版为3.3.1。

什么是protocol buffer

protocol buffer(以下简称PB)是google 的一种数据交换的格式,它独立于语言,独立于平台。google 提供了多种语言的实现:java、c####、c++、go 和 python,每一种实现都包含了相应语言的编译器以及库文件。由于它是一种二进制的格式,比使用 xml 进行数据交换快许多。可以把它用于分布式应用之间的数据通信或者异构环境下的数据交换。作为一种效率和兼容性都很优秀的二进制数据传输格式,可以用于诸如网络传输、配置文件、数据存储等诸多领域。
以上内容来自百度百科。

安装 brew

打开终端,输入

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

回车,会提示按任意键继续,继续会出现输入密码的提示,输入电脑的密码即可继续安装。

安装 automake

终端输入

brew install automake

安装 libtool

终端输入

brew install libtool

安装 protobuf

这里主讲方式二安装

方式一、
终端输入

brew install protobuf

方式二、

1、下载protobuf:https://github.com/google/protobuf

2、解压下载的protobuf,并打开终端cd到protobuf目录

cd /你的存放路径/protobuf-2.6.1

3、执行autogen.sh脚本

如果按照网上大多数教程,那是执行./configure了,但是你会发现根目录下根本没有configure文件,因为protobuf的编译方式做了修改,要执行autogen.sh才会生成configure脚本。

./autogen.sh

敲黑板!!!

这里有个坑,你会发现即使你科学上网了还是time out载不下来。

我们打开autogen.sh脚本看看

看到木有,autogen.sh会去下载一个叫gtest的东东,我们打开其URL看看,404啊有木有!!!

http://googletest.googlecode.com/files/gtest-1.5.0.tar.bz2

4、下载gtest-1.5.0

https://github.com/google/googletest/tree/release-1.5.0

下载完成后解压并把文件夹名字改成gtest,并且复制到protobuf文件夹里。

5、重复第三步

因为本地已经有了gtest所以就不会去下载了

执行autogen.sh脚本并生成configure

./autogen.sh

6、执行configure

./configure

7、编译protobuf

按从上到下顺序依次执行

make
make check
sudo make install

8、检测是否安装成功

protoc --version