Cocos2d-x Protobuf 的使用

因为项目的需求,通信打算使用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发现其中引用路径为:

#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类似于第三方的插件,需要我们编译到项目中去

具体请参考下一篇文章:

http://blog.csdn.net/sharkmarine/article/details/23543939






  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值