cocos2d-x 工程中应用 protocol buffers
来源:互联网 发布:莫烦 tensorflow bili 编辑:程序博客网 时间:2024/05/04 17:36
原创文章,转载请注明出处
关于google推出的protocol buffers,这里就不多介绍了,主要是我了解也不多。本文主要从实用角度来说一下,它在cocos2d-x工程里的搭建和应用。
第一步,下载安装:
在 https://code.google.com/p/protobuf/downloads/list 这里下载最新的SourceCode工程, 我用的是2.5.0版本,下载完解压下指定目录下。
编译及拷贝到工程目录下
第三步, 在工程中编译这些文件
这一步有点小复杂
a. 把解压完的目录下 protobuf-2.5.0/src/google整个目录拷贝到cocos2d-x工程下的libs目录下。
b. 把解压完的目录下 config.h 拷贝到 libs/google 目录下,主要是放到一些宏定义, 没办法,代码被引用了。
c. 删除编译多语言相关文件,google/protobuf/compiler 目录是用来编译多语言的,删除
d. 删除单元测试文件 所有 ***unittest.cc 文件是测试用例(根据文件名猜的),删除, 还有两个tesst打着的文件夹
e. 删除其它文件,编译过程中还有一两处错误,删除相应.cc文件
二、
关于google推出的protocol buffers,这里就不多介绍了,主要是我了解也不多。本文主要从实用角度来说一下,它在cocos2d-x工程里的搭建和应用。
第一步,下载安装:
在 https://code.google.com/p/protobuf/downloads/list 这里下载最新的SourceCode工程, 我用的是2.5.0版本,下载完解压下指定目录下。
cd yourDir./configuremakemake checksudo make install
其中,./configure, 可能遇到的问题有(其中就是我遇到的问题),
a. gcc不存在,原因可能是没有安装Xcode
b. gcc 命令可用了, 但出现"C compiler is in use.....no"(类似这么一个提示),查看config.log, 会提示 crt1.10.6.o 链接时这个文件找不到, 解决方式是链接了一个过去
c. “stdio.h” 文件找不到
以上三个原因, 最好的方式都是:Xcode->Preferences->Downloads下的Components下,选择安装Command Line Tools
安装好之后, 再依次执行上面三条命令,安装完成
第二步,把.proto配置文件,编译成多种代码文件
ProtocolLogic.proto文件
package lm;message helloworld{required int32age = 1;required string name = 2;optional stringphone = 3;}
编译及拷贝到工程目录下
protoc -I=./ --cpp_out=./code_out ProtocolLogic.protocp ./code_out/ProtocolLogic.pb.cc ~/*****/ProtocolLogic.pb.cppcp ./code_out/ProtocolLogic.pb.h ~/*****/ProtocBuffers/
第三步, 在工程中编译这些文件
这一步有点小复杂
a. 把解压完的目录下 protobuf-2.5.0/src/google整个目录拷贝到cocos2d-x工程下的libs目录下。
b. 把解压完的目录下 config.h 拷贝到 libs/google 目录下,主要是放到一些宏定义, 没办法,代码被引用了。
c. 删除编译多语言相关文件,google/protobuf/compiler 目录是用来编译多语言的,删除
d. 删除单元测试文件 所有 ***unittest.cc 文件是测试用例(根据文件名猜的),删除, 还有两个tesst打着的文件夹
e. 删除其它文件,编译过程中还有一两处错误,删除相应.cc文件
Ok 编译运行成功。
开发过程中,有时需要把序列化后的数据,结构化地显示出来方便查错。两种方法:
一、
CCLog(">>>>>>>>>>>>>>>>>>>%s", l_totalResponse.DebugString().c_str());
二、
string l_stringContent; google::protobuf::TextFormat::PrintToString(l_totalResponse, &l_stringContent); CCLog(">>>>>>>>>>>>>>>>>>>%s", l_stringContent.c_str());
- cocos2d-x 工程中应用 protocol buffers
- [寒江孤叶丶的Cocos2d-x之旅_29]在Cocos2d-x中集成protobuf (Protocol Buffers)
- 【Protocol Buffers】在Flash中使用Google Protocol Buffers
- Cocos2d-x win32 工程导出应用包
- Protocol Buffers的应用与分析
- Google Protocol Buffers 之.Net应用
- Protocol Buffers的应用与分析
- Protocol Buffers的应用与分析
- Google Protocol Buffers 之.Net应用
- Protocol Buffers的应用与分析
- Google Protocol Buffers 之.Net应用
- Protocol Buffers 在游戏中的应用
- protocol buffers
- Protocol Buffers
- Protocol Buffers
- Protocol Buffers
- Protocol Buffers
- Protocol Buffers
- Oracle中insert into select和select into的用法
- Ubuntu下ssh服务的安装与登陆(ssh远程登陆)
- HDU 3336 Count the string(KMP 理解)
- Winform控件WebBrowser与JS脚本交互
- Ubuntu VirtualBox
- cocos2d-x 工程中应用 protocol buffers
- JFreeChart的使用
- 带你走进EJB--EJB容器
- Objective-C编程基础读书笔记(5)
- spring +hibernate 启动优化【转】
- 常用DOC命令
- iphone自定义UITextView的placeholder
- 【rzxt】巧用电池小工具 电量问题全掌握
- 【转】Java虚拟机学习 - 对象访问 - 【关于栈 跟 堆】