win环境下实现导出protobuf文件的lua版本
来源:互联网 发布:阿里云数据库怎么用 编辑:程序博客网 时间:2024/06/05 16:30
quick cocos2dx 是基于lua脚本的,因此要使用protobuf必须能让lua来序列化和反序列化数据
步骤
1 安装python2.7 从www.python.org中下载
2 下载protoc(http://protobuf.googlecode.com/svn/trunk)并编译出protoc.exe 我下载的是2.4.1版本,用vs2013进行编译,过程有点小小问题,不过顺利解决.
2.1 遇到min max无法识别( 在对应的文件加上 #include <algorithm>
2.2 遇到一个string 无法转换为string&& 的问题.传入的参数加上string&
2.3 生成的protoc.exe放到protobuf-2.4.1/src下
3 下载protoc-gen-lua
可以通过HG从服务器(hg clone https://code.google.com/p/protoc-gen-lua/)上下载最新的版本。
简单介绍一下里面的三个目录:
example 存放的一个示例协议,
plugin 将.proto协议转为LUA脚本需要的工具。要注意,这个工具是用PYTHON写的,所以后面我们需要安装PYTHON。
rotobuf这里存放了工程需要的文件。其中pb.c是C码文件。主要是在工程中引用,也可以编译成动态文件(.so)供LUA调用。其它LUA文件则需要引入到LUA工程中。
4、编译python版本的protobuf
在protobuf-2.4.1\python下运行python setup.py build,然后再执行python setup.py install。
5、制作转换协议的批处理
在protoc-gen-lua/plugin目录下编写批处理:s.bat,就下面一行代码。
@python "%~dp0protoc-gen-lua"
6 接着拷贝一份protoc.exe到protoc-gen-lua目录。第3步我们已经编译了出了protoc.exe。在协议转换中,我们需要使用他。
在protoc-gen-lua目录编写批处理:s.bat 来转换协议。(导出lua版的proto文件 --lua_out)
cd ./examplefor %%i in (*.proto) do (echo %%i"..\protoc.exe" --plugin=protoc-gen-lua="..\plugin\s.bat" --lua_out=. %%i)echo endpause
至此,完成了protobuf文件的lua版本导出,目的达成.接下来就要在lua中decode和encode了.
- win环境下实现导出protobuf文件的lua版本
- 在Unity.ulua环境下如何生成lua的protobuf文件
- 在lua环境中使用protobuf ,编译protobuf文件
- vs的lua项目,导出release版本在win上打印日志
- lua下使用protobuf
- 笔记:Linux环境下lua脚本层使用protobuf
- protobuf for lua 实现
- Win 安装 lua 环境
- lua环境中使用protobuf
- win平台下搭建cocos2dx 3.5 lua开发环境
- 【Google Protobuf】windows下protobuf的环境搭建(一)
- golang版本protobuf 在windows系统下安装环境
- Mac下导出protobuf协议到c#文件
- 在win环境下添加多个版本python解释器的方法
- SpringMVC环境下导出文件
- Win下搭建tensorflow的GPU版本
- win平台下搭建cocos2dx 3.1.1 lua开发环境 VS2012+sublime text+lua 5.2.3
- win平台下搭建cocos2dx 3.0+ lua开发环境 VS2012+sublime text+lua 5.2.3
- EasyUI 中datagrid 点击表头进行排序
- smartSVN 分支合并到主干上,iOS 编译时链接错误
- EM算法的证明
- 基础样式
- 你是一名黑客还是开发者
- win环境下实现导出protobuf文件的lua版本
- Matlab 中 imshow() 的使用问题
- 模拟赛 感冒病毒(时间限制:1s;空间限制:256MB)
- iOS开发之保存图片到手机相册
- nyoj722数独
- java网络编程
- java的UDP通信
- 【转载】数学之美番外篇:平凡而又神奇的贝叶斯方法
- Java 下拉框JComboBox和单选按钮JRadioButton简单举例使用