MAC/IOS中使用protocolBuf
来源:互联网 发布:齐天小大姐淘宝店 编辑:程序博客网 时间:2024/06/04 21:54
使用的是 https://github.com/mingchen/protobuf-ios 首先是下载下来
它其中使用到得命令行
$ cd compiler$ ./autogen.sh$ ./configure$ make$ make install (optional)
The compiler is genrated at
src/protoc
. 在src目录下生成一个能够将.proto文件生成.m文件的命令行工具protoc.当然了,安装的过程中遇到了好几个问题
需要先安装brew
,这个安装的过程中,直接使用官方的安装方法安装就可以了,就是一句话,
brew可以用来方便的安装软件
安装,只要一个命令
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”
安装完了后,需要再安装
brew install automake
brew install autoconf
并且,可能还会提示缺少libtool 使用命令 brew install libtool 安装
安装完后 ,执行最后make命令时候,还是会遇到 错误 [message.lo] Error 1,需要改动 文件 message.cc
#include <google/protobuf/stubs/stl_util-inl.h>
+ #include <istream> (增加这一行)
使用方式
将一个 .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;
}
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;
}
放到 scr目录下,然后,在src同级建立文件夹 build/objc
调用命令
src/protoc --proto_path=src --objc_out=build/objc src/Person.proto 就会生成
Person.pb.h和Person.pb.m文件两个文件了,这两个文件中,包含的就是 对应的oc对象了,
当然了,你可以用脚本来批处理,如果有很多的.protocol文件的话
建立一个 脚本文件,命令为pro.sh
内容如下
#!/bin/sh
#protocol的命令所在目录
commandPath="/Users/yohunl/Downloads/ProtocolBuffers-2.2.0-Source/src/protoc"
#protocol文件所在的目录
protoPath="/Users/yohunl/Downloads/protocolpbfile"
#最后的存放生成的.m文件的目录
objcOut="/Users/yohunl/Downloads/ocfile"
#/Users/yohunl/Downloads/ProtocolBuffers-2.2.0-Source/src/protoc --proto_path=/Users/yohunl/Downloads/proto --objc_out=/Users/yohunl/Downloads/proto /Users/yohunl/Downloads/proto/BudgetRequest.proto
rm -rf "${objcOut}"
mkdir -p "${objcOut}"
for file in "${protoPath}"/*.proto;
do
#echo $file
${commandPath} --proto_path=${protoPath} --objc_out=${objcOut} ${file}
done
#protocol的命令所在目录
commandPath="/Users/yohunl/Downloads/ProtocolBuffers-2.2.0-Source/src/protoc"
#protocol文件所在的目录
protoPath="/Users/yohunl/Downloads/protocolpbfile"
#最后的存放生成的.m文件的目录
objcOut="/Users/yohunl/Downloads/ocfile"
#/Users/yohunl/Downloads/ProtocolBuffers-2.2.0-Source/src/protoc --proto_path=/Users/yohunl/Downloads/proto --objc_out=/Users/yohunl/Downloads/proto /Users/yohunl/Downloads/proto/BudgetRequest.proto
rm -rf "${objcOut}"
mkdir -p "${objcOut}"
for file in "${protoPath}"/*.proto;
do
#echo $file
${commandPath} --proto_path=${protoPath} --objc_out=${objcOut} ${file}
done
执行它(当然,你得赋予它可执行的权限 chmod a+x pro.sh)
执行它 ./pro.sh
https://code.google.com/p/protobufeditor/ 这个是.proto的编辑工具
参考文档 http://www.cnblogs.com/uniy/archive/2011/12/21/2296405.html
http://blog.csdn.net/hherima/article/details/17172441
http://blog.csdn.net/hherima/article/details/21534673
https://gist.github.com/BennettSmith/7150245
0 0
- MAC/IOS中使用protocolBuf
- ProtocolBuf 在 mac 中使用,同时和 java & Xcode8.1 整合
- mac下Protocolbuf安装
- protocolBuf 在iOS上的使用入门、讲解、指南
- 如何在eclipse中使用protocolbuf(java编码)
- 如何在eclipse中使用protocolbuf(java编码)
- Lua使用protocolbuf
- 初识ProtocolBuf------了解使用阶段
- MAC上如何安装protocolBuf工具
- protocolBuf的跨平台基础使用1
- protocolBuf的跨平台基础使用2
- IOS/MAC中使用Thrift框架
- iOS Mac licecap使用
- iOS/Mac开发中各种锁的使用
- Thrift框架学习笔记 IOS/MAC中使用Thrift框架
- mac ios pods 使用小结
- Mac中使用spatialite
- mac中使用svn
- HDU 1241 Oil Deposits 【DFS】
- android 报Unable to resolve target 'android-XX' 类似的错误。
- 强联通图缩点HDU1827
- SDN(软件定义网络)
- Codeforces6D(暴力dp)
- MAC/IOS中使用protocolBuf
- 后天到环境与可免费那个四个人哈哈
- 第一款ios项目用了六个月才上线<蛋疼的项目总结>
- hdu 1811 Rank of Tetris 托普排序
- 百度胖老师吧胖老师中央电视台东方时空
- [学习笔记]Java面向对象思想和内存模型
- 值得看的电影和连续剧
- 百度胖老师吧新华社人民日报上海分社中央电视台东方时空报道上海好心人胖老师了!
- [学习笔记]Java构造器和static关键字