您的位置:首页 > 移动开发 > Objective-C

将protobuffer文件转换为objective-c

2015-11-02 17:37 453 查看
https://code.google.com/p/metasyntactic/downloads/list

ProtocolBuffers-2.2.0-Source

用命令 切换至ProtocolBuffers-2.2.0-Source

./autogen.sh

./configure

./make

./make install

这样在src目录下生成一个能够将.proto文件生成.m文件的命令行工具protoc.

2、如果make报错

则 找到 src/google/protobuf/message.cc


#include <google/protobuf/stubs/stl_util-inl.h>

下面添加

#include <istream> 再次执行
make 命令

3、如果还是没有生成protoc 命令工具,执行还有错误

这时需要安装brew

终端下载:

curl -fsSL https://raw.githubusercontent.com/Homebrew/install/ href="http://cpro.baidu.com/cpro/ui/uijs.php?adclass=0&app_id=0&c=news&cf=1001&ch=0&di=128&fv=0&is_app=0&jk=3b2bb1f32f0d89e&k=master&k0=master&kdi0=0&luki=1&n=10&p=baidu&q=smileking_cpr&rb=0&rs=1&seller_id=1&sid=9ed8f0321fbbb203&ssp2=1&stid=0&t=tpclicked3_hc&td=1682280&tu=u1682280&u=http%3A%2F%2Fwww%2Eth7%2Ecn%2FProgram%2FIOS%2F201505%2F450687%2Eshtml&urlid=0" target=_blank>master/install

完成后

brew install automake

这个地方会有一个Error 按照提示

输入命令

brew unlink automake

再次 brew install automake

brew install autoconfbrew
install libtool

然后重新操作第1步好了.

3、将一个 .proto文件(名字叫Person.proto)

直接使用文本编辑

message Person {

required string name = 1;

required int32 id = 2;

optional string email = 3;

enum PhoneType {

MOBILE = 0;

HOME = 1;

WORK = 2;

}

message PhoneNumber {

required string number = 1;

optional PhoneType type = 2 [default = HOME];

}

repeated PhoneNumber phone = 4;

}

放到src 目录下

在src同级 建立build/objc 文件夹

调用命令src/protoc --proto_path=src
--objc_out=build/objc src/Person.proto 就会生成 Person.pb.h和Person.pb.m文件两个文件了,这两个文件中,包含的就是
对应的oc对象了,

4、使用

参考:http://www.cnblogs.com/uniy/archive/2011/12/21/2296405.html

其它参考:
http://blog.csdn.net/yohunl/article/details/41797621 http://ky-storm.cn/blog/445.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: