ProtocolBuffer Mac安装步骤(亲测可用)

一、安装ProtocolBuffer

*********************附下载地址****************************

ProtocolBuffer2.4.1下载地址

翻墙

http://code.google.com/p/protobuf/downloads/list

国内

http://download.csdn.net/download/esrrhs/3535048

*****************************************************

下载之后,进入压缩包所在文件夹,

如果xcode5.0以上编译,需要修改安装文件,找到文件src/google/protobuf/message.cc,在文件的第一个#include之上的一行,加入#include<istream>

解压,打开终端执行

cd protobuf-2.4.1

./configure --prefix=/usr/local

make

sudo make install

 

PS:这里会提示输入密码,输入登录密码即可,密码不可见。

如果编译报错

xcrun: error: active developer path("/Users/apple/Desktop/Xcode5.app/Contents/Developer") does not exist,use xcode-select to change

请执行

sudo xcode-select -switch/Applications/Xcode(你的xcode名字).app/Contents/Developer

安装成功,只支持Java、C++、Python,下面添加Object-C支持

二、配置ProtocolBufferObjective-C上的代码生成器

针对ProtocolBuffer推出的plugin模式编写插件,以插件方式(2.5不兼容,请使用2.3或者2.4)支持Objective-C类型的文件输出。

它在这里:https://github.com/booyah/protobuf-objc

下载zip或者终端命令

git clone https://github.com/booyah/protobuf-objc.git

 

默认会在当前运行目录下创建protobuf-objc目录。

这里请先看第三部分,

进入该目录,并执行:

./autogen.sh

./configure --prefix=/usr/local

make

make install

 

最终生成的插件名字为protoc-gen-objc,会被安装到/usr/local/bin/目录下。 

三、安装automake工具脚本

执行./autogen.sh

会发现报错了,需要安装下边4个工具脚本。

打开终端,进入某个文件夹,执行:

 

curl -O http://mirrors.kernel.org/gnu/m4/m4-1.4.13.tar.gz

tar -xzvf m4-1.4.13.tar.gz

cd m4-1.4.13

./configure --prefix=/usr/local

make

sudo make install

 

cd ..

curl -O http://mirrors.kernel.org/gnu/autoconf/autoconf-2.65.tar.gz

tar -xzvf autoconf-2.65.tar.gz

cd autoconf-2.65

./configure --prefix=/usr/local

make

sudo make install

 

cd ..

curl -O http://mirrors.kernel.org/gnu/automake/automake-1.11.tar.gz

tar xzvf automake-1.11.tar.gz

cd automake-1.11

./configure --prefix=/usr/local

make

sudo make install

 

cd ..

curl -O http://mirrors.kernel.org/gnu/libtool/libtool-2.2.6b.tar.gz

tar xzvf libtool-2.2.6b.tar.gz

cd libtool-2.2.6b

./configure --prefix=/usr/local

make

sudo make install

 


本文出自 “码路” 博客,请务必保留此出处http://roybaby.blog.51cto.com/1508945/1564001

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。