protobuf---真正-- 在IOS中的使用
1.首先要下载下载Protocol Buffers:http://code.google.com/p/metasyntactic/downloads/list
下2.2.0版,下了这个就不用再单独下载protobuf的官方版本了(仅支持java、c++、phtoy的)
2.解压,用命令行切换至ProtocolBuffers-2.2.0-Source目录下:
./autogen.sh
./configure (如果说没有权限,chmod +x configure)
make(之前一直在此处make出错,经google,需修改/Applications/ProtocolBuffers-2.2.0-Source/src/google/protobuf/message.h文件,添加
3.至此就在src目录下生成了protoc工具,开始使用此工具:
whedeMac-mini:ProtocolBuffers-2.2.0-Source whe$ src/protoc --objc_out=build/objc
Person.proto(objc_out表示输出文件的目录)
注意哦!不能直接cd到protoc工具所在的目录(即src目录)中,然后再直接使用protoc,因为这本身不包含--objc_out选项的,一定要从它的上级目录中开始使用(或者是./protoc调用也可以,也代表先跳转到protoc的上级目录再使用protoc),这是因为在src目录下还有一系列文件是用来生成OC类的(输入src/protoc
--help命令便可以看到出现了--objc_out选项)
4.新建一个工程,将生成的person
OC版的文件导入,然后将ProtocolBuffers-2.2.0-Source/objectivec
下的文件放到项目的目录下,创建一个ProtobufLib文件夹,放进去,最好放在一个文件夹下面像这样
之后把ProtocolBuffers.xcodeproj添加到项目中,配置像这样:
ProtocolBuffers编译报错参考:https://code.google.com/p/metasyntactic/issues/detail?id=139
其他参考:http://www.cnblogs.com/uniy/archive/2011/12/21/2296405.html
http://blog.csdn.net/xinruiios/article/details/9168205
http://blog.csdn.net/hherima/article/details/17172441
2.解压,用命令行切换至ProtocolBuffers-2.2.0-Source目录下:
#include,修改如下:
#ifdef __DECCXX // HP C++'s iosfwd doesn't work.
#include
#else
#include
//#include //注释掉这个
#endif
另外,可能还会是其他错误,参考:https://code.google.com/p/protobuf/issues/detail?id=570
其他参考:http://www.cnblogs.com/uniy/archive/2011/12/21/2296405.html
网络上志同道合,我们一起学习网络安全,一起进步,QQ群:694839022