Cocos2d-x Protobuf 的使用
2014-04-12 16:31
148 查看
因为项目的需求,通信打算使用Protobuf,像我这种菜鸟,那用过Protobuf啊,只是听说过,于是开搞吧没办法,在技术群里问,基本没什么人叼你,会的认为你问的简单,想帮你的人可能恰恰不会,于是Do It Yourself,你懂得~
昨天搞了基本上一天了,在VS下好搞,但是编译到安卓上就有点吃力,哎,主要是自己太菜,没办法!
1、下载Protobuf,版本2.5.0
地址:http://code.google.com/p/protobuf/downloads/list
下载下图中文件,解压。我下载的是红框那个,估计蓝框的都能用。
解压后文件为:
2、、在VS 下使用Protobuf
解压后文件如上图所示,打开vsprojects文件夹,打开protobuf.sln文件(我是用VS2010打开生成的,VS2008好像不行,我同事用的08不行),
按图生成解决方案,生成以下几个重要文件
3、在Vs下测试使用
把上面生成的几个.lib文件,复制到我们Cocos2d-x的Debug文件夹中,
再把src文件夹下的google文件夹复制到我们项目的Classes 文件夹中,
设置项目属性,添加链接
4、下面我们使用生成的.lb文件和.exe文件生成我们自定义的结构体
新建个文件夹把需要的文件拷贝进去
新建个txt文件,文件内容如下,然后保存再把后缀名改为.proto
这是个测试文档,具体用的时候我们定义我们的数据,至于其中的语法,大家自己搜下吧。
然后我们需要用protoc.exe生成.pb.cc和.pb.h文件
在控制台进入protoc.exe所在文件夹,输入命令:protoc -I=D:\ProtobufTest --cpp_out=D:\ProtobufTest D:\ProtobufTest\person.proto
如下图:
其中D:\ProtobufTest 是protoc.exe所在路径 cpp_out后面的两个分别是生成的.pb.cc和.pb.h存放路径和目标文件person.proto的路径,点击回车发现,在目录下生成了对应的
.pb.cc和.pb.h文件,打开person.pb.h发现其中引用路径为:
所以我们需要在我们的Classes中粘贴进去google文件夹。
5、这样我们就可以再VS下使用了。
引用:
简单使用,详细的使用大家自己查下吧,我也不是很懂,我只是调通了,具体是使用还没研究呢。
6、Protobuf在安卓下是没有的,Protobuf类似于第三方的插件,需要我们编译到项目中去
具体请参考下一篇文章:
/article/9328507.html
昨天搞了基本上一天了,在VS下好搞,但是编译到安卓上就有点吃力,哎,主要是自己太菜,没办法!
1、下载Protobuf,版本2.5.0
地址:http://code.google.com/p/protobuf/downloads/list
下载下图中文件,解压。我下载的是红框那个,估计蓝框的都能用。
解压后文件为:
2、、在VS 下使用Protobuf
解压后文件如上图所示,打开vsprojects文件夹,打开protobuf.sln文件(我是用VS2010打开生成的,VS2008好像不行,我同事用的08不行),
按图生成解决方案,生成以下几个重要文件
3、在Vs下测试使用
把上面生成的几个.lib文件,复制到我们Cocos2d-x的Debug文件夹中,
再把src文件夹下的google文件夹复制到我们项目的Classes 文件夹中,
设置项目属性,添加链接
4、下面我们使用生成的.lb文件和.exe文件生成我们自定义的结构体
新建个文件夹把需要的文件拷贝进去
新建个txt文件,文件内容如下,然后保存再把后缀名改为.proto
这是个测试文档,具体用的时候我们定义我们的数据,至于其中的语法,大家自己搜下吧。
然后我们需要用protoc.exe生成.pb.cc和.pb.h文件
在控制台进入protoc.exe所在文件夹,输入命令:protoc -I=D:\ProtobufTest --cpp_out=D:\ProtobufTest D:\ProtobufTest\person.proto
如下图:
其中D:\ProtobufTest 是protoc.exe所在路径 cpp_out后面的两个分别是生成的.pb.cc和.pb.h存放路径和目标文件person.proto的路径,点击回车发现,在目录下生成了对应的
.pb.cc和.pb.h文件,打开person.pb.h发现其中引用路径为:
#include <google/protobuf/stubs/common.h>
所以我们需要在我们的Classes中粘贴进去google文件夹。
5、这样我们就可以再VS下使用了。
引用:
#include "person.pb.h" #include <iostream> #include <fstream>
简单使用,详细的使用大家自己查下吧,我也不是很懂,我只是调通了,具体是使用还没研究呢。
//=======================Protobuf==测试============ // 设置数据, 并序列化到文件 Test::Person person; person.set_id( 123 ); person.set_name( "abc" ); person.set_email( "abc@163.com" ); std::string out=person.SerializeAsString();
6、Protobuf在安卓下是没有的,Protobuf类似于第三方的插件,需要我们编译到项目中去
具体请参考下一篇文章:
/article/9328507.html
相关文章推荐
- [寒江孤叶丶的Cocos2d-x之旅_35]在Cocos2d-Lua中使用ProtoBuf (Xcode配置方法)
- 在Cocos2d-Lua中使用ProtoBuf (Xcode配置方法)
- 在Cocos2d-Lua中使用ProtoBuf(Xcode配置方法)
- 关于pc上的flash动画转移到Cocos2d-x使用
- Cocos2d-x开发--使用CCRenderTexture将矩形图片裁剪成圆形显示
- (译)在cocos2d里面如何使用Texture Packer和像素格式来优化spritesheet
- (译)加入敌人和战斗:如果使用cocos2d制作基于tiled地图的游戏:第三部分
- 【Cocos2d-X开发学习笔记】第28期:游戏中音乐和音效的使用
- [置顶] Cocos2d-x使用过程中遇到的错误(VS下开发,移植到Android发布)(更新ing)
- Cocos2d-x中的CCScrollView的使用
- (译)在cocos2d里面如何使用Texture Packer和像素格式来优化spritesheet
- Cocos2d-x 2.2.3 使用NDK配置编译环境
- 如何使用ZEROBRANE STUDIO远程调试COCOS2D-X的LUA脚本
- cocos2d-x & CocoStudio UI使用
- Cocos2d-X 碰撞检测的使用方法
- ProtoBuf在Unity3D中的简单使用!
- cocos2d plist文件使用(在一张大图中放置多个精灵图片)
- 【cocos2d 3.x】粒子plist的简单使用
- [置顶] Cocos2d-x使用Cocos Studio制作界面并应用---之游戏开发《赵云要格斗》(11)
- (译)Cocos2d_for_iPhone_1_Game_Development_Cookbook:1.7使用Retina模式