为什么要安装protobuf
一般出现问题场景
1. Xcode编译提示错误:google/protobuf/stubs/common.h file not found
2. 终端执行protoc --version 提示没有安装过
什么是protobuf
protobuf(Google Protocol Buffers)
Google提供一个具有高效的协议数据交换格式工具库(类似Json)。
但相比于Json,Protobuf有更高的转化效率,时间效率和空间效率都是JSON的3-5倍。
怎么判断有没有安装过protobuf?
终端中执行:protoc --version```
####如何安装
下载完成后
第一步:
如果是2.4.1版本,在终端执行:tar zxvf protobuf-2.4.1.tar.gz
如果是2.5.0版本,在终端执行:tar zxvf protobuf-2.5.0.tar.gz
第二步:
如果是2.4.1版本,在终端执行:cd protobuf-2.4.1
如果是2.5.0版本,在终端执行:cd protobuf-2.5.0
第三步:
在终端执行:./configure
第四步:
在终端执行:make
第五步:
在终端执行:make check
第六步:
在终端执行:make install
以后六步执行完成,查看是否安装成功
执行命令:protoc --version
如果出现libprotoc 2.4.1或者libprotoc 2.5.0则说明安装成功
#####如何卸载protobuf
在终端执行
- which protoc
注:whick protoc后会出现一个路径,一般是 /usr/local/bin/protoc
这里默认称 /usr/local/bin/protoc为protoc_path - sudo rm 第一步中protoc_path
注:一般是sudo rm /usr/local/bin/protoc
即可完成卸载
#####可能会出现的问题
如果安装的是2.4.1版本。
在安装过程中,
执行完第四步:make
如果出现
3 errors generated.
make[2]: *** [message.lo] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
继续执行下去不会执行成功
解决方案:
1. 打开protobuf-2.4.1/src/google/protobuf/message.cc文件
2. 添加 #include <istream>
然后关闭文件,重新执行第四步:make 即可