一、参考资料:
Android与ios引入protobuf ---for cocos2dx
二、系统、IDE及相关库的版本
OS X 10.8.3,XCode4.5.2,cocos2d-x2.1.4, protobuf2.5.0
三、失败症结:
1.从 google code上面无法下载到直接可用的库成品(.a + .h 或 .dylib + .h),也没有提供干净清新可以直接拿来用的代码。
能下载到的只会是同一份过分完整源码的三种不同格式的压缩包。。有点儿坑爹。。
(过分完整:各种各样的测试 proto、compiler 模块和 gtest 同重用代码混杂在一起)
2.XCode 各种不引用(即使建立了对 protobuf 代码的引用关系,也要再设置一遍 Header Search Paths 才能找到头文件)。
3.protobuf 可以用 ./configure -> make -> make check -> make install 这依次执行的 4 个命令完成安装。
会在系统目录里面生成 libprotobuf.a、libprotobuf.dylib、protoc 编译器和相关头文件。
4.在protobuf 源码包得部分文件中存在 main 函数,这么一来不注意不做处理的情况下,
势必出现 duplicated symbol 'main' 的错误。
5.在做 protobuf 的 CocoaTouch 静态库的时候,须将编译器由 apple llvm 改为 llvm-gcc。
不然会出现 <tr1/unodered_map.h> 头文件找不到的错误。