樽中酒不空
分类: iOS平台
2015-04-21 10:50:52
由于项目需求,要使用ProtocolBuf,关于ProtocolBuf的介绍。protobuf介绍
从GitHub上找到老外写的强大的脚本,将Mac上安装ProtocolBuf的过程整合到一个脚本中。
该脚本完美解决mac上开发IOS软件protobuf的环境问题!
我也写过ppt,大家下载看看吧
--------------------------------------------------------
说说强大的脚本,该脚本做了下面三件事情(用记事本打开查看)
1). 下载protobuffer 2.5.0
2). 生成不同平台的库,强制生成静态库。例如:
# x86_64 for Mac OS X
# i386 for iPhone Simulator
# armv7 for iPhone
# armv7s for iPhone
# arm64 for iPhone
生成的库大约118M,如果做iOS开发,只需要armv7/s 和i386 for iPhone Simulator三个即可,生成后约80M。你可以在脚本最后,合并库的时候,不要将X86的库和64位的库合并。
3).合并以上5个平台的库。
下面是运行脚本后,生成后的protobuf文件夹。把这个放到iOS工程中即可。
如何编译proto文件为cpp,java请看protobuf介绍
-----------------------------------------------------------------------------------------------
【误区】:
当项目需求protobuf的时候,我第一反应是从google官网下载protobuf 2.5包,到mac上去make、安装。
但是,这应该是mac开发使用的libprotobuf.dylib库,并非iOS使用的i386和armv7的.a库。所以,总是错误:
undefined references to `google::protobuf::GoogleOnceInitImp
undefined references to `google::protobuf::internal::kEmptyString
终于从经理哪儿找到这个脚本,配置起来真爽啊!