cocos2dx-lua下protobuf的使用
使用protobuf我们需要先写一个proto文件,然后因为要在lua中使用,要把他转成.lua文件。
首先,我们需要本地安装protobuf,我这里使用的是protobuf-2.5.0,
安装完之后还需要一个转换工具
还需要python2.x的环境,我这里用的是python2.7。
具体步骤:
1,将 转换工具 解压放到桌面(随便哪里,将它拷贝到需要存放的位置即可)
2,下载protobuf-2.5.0.tar.gz并解压protobuf-2.5.0
3,cmd进入protobuf-2.5.0\python目录
4,输入python setup.py build编译
5,输入python setup.py install安装
6,进入protobuf-2.5.0\vsprojects,用vs2010打开protobuf.sln,选择protoc为启动项,编译生成protoc.exe
7,将protoc.exe拷贝到protoc-gen-lua\example
8,在protoc-gen-lua\plugin目录下新建protoc-gen-lua.bat文件并输入内容@python "%~dp0protoc-gen-lua"
9,在protoc-gen-lua\example目录下新建build.bat并输入内容如下:
E:\protoc-gen-lua\protoc-gen-lua\example\protoc.exe --lua_out=./ --plugin=protoc-gen-lua="E:\protoc-gen-lua\protoc-gen-lua\plugin\protoc-gen-lua.bat" person.proto
(protoc.exe路径 --lua_out=./ --plugin=protoc-gen-lua.bat路径 proto文件)
10,将proto文件拷贝到protoc-gen-lua\example目录下,运行cmd,进入protoc-gen-lua\example目录,执行build.bat即可生成对应的lua文件(双击也行)。
参考
转换工具里面有个person.proto,转换完会生成一个person_pb.lua
在cocos2dx-lua工程中使用的话需要
在main.lua的开头加上
package.path = package.path .. ';../protobuf/?.lua'
package.cpath = package.cpath .. ';../protobuf/?.so'