关于protobuf是什么,不在赘述,它是google开源的一种新的网络数据交互协议(传统的XML和JSON)。本文只是记录它在mac系统上的安装,本人安装的时候运到一些问题,把它总结出来。
最近在学习使用protobuf,但github给出的教程只有linux的,对mac还是有一些区别。
github地址:https://github.com/protocolbuffers/protobuf
首先下载
第一种:可以通过git克隆源码,速度较慢。这里提供一个当前版本最新的源码包:
百度云链接:https://pan.baidu.com/s/1u2dQQJXeWK6s00Xud31uQA 密码:8mae
git clone https://github.com/protocolbuffers/protobuf.git
第二种:下载对应c++的源码包,这种方式步骤少一点,github有详细步骤,但本文不在叙述。
准备依赖项
上图是github给出的需要的依赖保,apt-get是linux系统的包管理工具,mac要用brew来安装:
brew install autoconf automake libtool curl make g++ unzip
但我在安装时候 g++的安装不成功,而后面protobuf的安装不受影响,具体原因不知,可能在mac上在这项不重要。
环境准备好就可以编译,安装了
编译安装
上图是github给出的步骤,只有二步(具体干什么的我不知道,文档没有详细说明),进入克隆好的代码目录:
git submodule update --init --recursive 这一步我是执行失败了的,同样对后面的安装没有影响。
./autogen.sh 必须执行成功
最后出现exit 0就表示成功了。
编译c++代码
五步:
执行过程我不再粘图了,占用篇幅 ,其中,./configure, make, sudo make install是c++的编译安装命令,必须执行成功,make check检查环境,这一步可能会执行失败,同样不影响安装。最后一步sudo ldconfig是刷新共享库,同样必须执行成功,但ldconfig是linux的命令,对mac不适用,mac用 sudo update_dyld_shared_cache 来执行。
最后执行protoc命令,有提示信息protobuf就安装成功了: