第一步:下载protobuf-2.4.1。高版本的不兼容。
配置protobuf
1、cd protobuf-2.4.1
2、./configure –prefix=自己设定要编译安装的目录
3、make
4、make install
配置环境变量:
5、sudo vi 。bash_profile
添加配置文件:
6、export PROTOBUF= 第2部自己设定的目录
export PATH=$PROTOBUF/bin:$PATH
7、测试:
protoc –version
成功后:会生成 bin lib include 三个文件 并拷贝到/usr/local/目录下的三个文件中。
第二步:
下载Objective-C compiler for ProtocolBuffer。
目前有两种类型的实现。
一个针对ProtocolBuffer2.2做修改,使最后生成的.proto文件编译器(protoc)支持Objective-C类型的文件输出。
它在这里:http://code.google.com/p/metasyntactic/wiki/ProtocolBuffers
另一个针对ProtocolBuffer2.3推出的plugin模式编写插件,以插件方式支持Objective-C类型的文件输出。
它在这里:https://github.com/booyah/protobuf-objc
我选用第二种方式,这也是Google推荐的方式。
git clone https://github.com/booyah/protobuf-objc.git
默认会在当前运行目录下创建protobuf-objc目录。进入该目录,并执行:
./autogen.sh
./configure
make
make install
最终生成的插件名字为protoc-gen-objc,会被安装到/usr/local/bin/目录下。
第二步出现autogen错误时可能没有安装autoconf and automake
安装步骤如下:
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 # ironic, isn't it?
make
sudo make install
cd ..
# here you might want to restart your terminal session, to ensure the new autoconf is picked up and used in the rest of the script
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
安装成功问题就基本解决了
第三步:测试是否成功:
在桌面创建一个 ProtoBuf的文件夹。然后
cd ~/Desktop/ProtoBuf
touch person.proto
vi person.proto
就按ProtocolBuffer的语法规则简单建立一个.proto的文件
package csdnblog;
message PBUser {
required string userId = 1;
optional string nick = 2;
optional string avatar = 3;
}
创建完毕后,我们来编译这个person.proto文件。cd到ProtoBuf的文件夹后,命令如下:
protoc --plugin=/usr/local/bin/protoc-gen-objc person.proto --objc_out=./
protoc会自动在/usr/local/bin/目录下寻找名为”protoc-gen-objc”的插件,并使用该插件编译.proto文件,最终生成两个文件:
Person.pb.h
Person.pb.m
这个步骤通过后,说明ProtocoBuffer Compiler for Objective-C可以正常工作了。
iOS Protocol Buffers的搭建详细过程
最新推荐文章于 2021-02-16 18:58:49 发布