一、下載pbc項目 https://github.com/miaodadao/pbc ios
二、proto生成pb文件 git
https://code.google.com/p/protobuf/downloads/list 下載protoc文件,而後切換到上面下載完成後解壓的文件下調用下面安裝命令github
./configure --prefix=/usr/local/protobuf數據結構
make app
make check ui
make install google
安裝完成後在存放proto的文件下調用lua
protoc -- descriptor_set_out test.pb iosgame.pb iosgame.protospa
把生成好的pb文件放到項目的res文件下code
三、修改pbc項目
添加pbc-lua.h頭文件,文件內容
#ifndef __LUA_PBC_EXTRA_H_
#define __LUA_PBC_EXTRA_H_
#if defined(_USRDLL)
#define LUA_EXTENSIONS_DLL __declspec(dllexport)
#else /* use a DLL library */
#define LUA_EXTENSIONS_DLL
#endif
#if __cplusplus
extern "C" {
#endif
#include "lauxlib.h"
int LUA_EXTENSIONS_DLL luaopen_protobuf_c(lua_State *L);
#if __cplusplus
}
#endif
#endif
修改pbc項目中 binding\lua\pbc-lua.c 文件,添加#include "pbc-lua.h",把pbc裏面的文件添加到quick的項目裏面
在quick項目裏面Build Settings Header Search Paths 添加"$(QUICK_COCOS2DX_ROOT)/lib/pbc"
在Appdelegate裏面添加
#include "pbc-lua.h"頭文件
在 bool AppDelegate::applicationDidFinishLaunching()裏面添加luaopen_protobuf_c(L);
四、讀取數據
require("protobuf")
local iosgame = CCFileUtils:sharedFileUtils():getFileData("iosgame.pb")//數據結構
protobuf.register(iosgame)
local stringBuf = CCFileUtils:sharedFileUtils():getFileData("test.game")//須要的數據
result = protobuf.decode("mygame.CMaindata",stringBuf )
result就是咱們須要的結果