在Quick-cocos2d-x中使用雲風pbc解析Protocol Buffers


由於Quick-cocos2d-x新版本的變化,之前集成pbc到x-player的方法已不適用。

大綱:

本例使用工具的版本

pb文件生成腳本編寫

pbc項目簡易修改

集成到相關平台:

集成到win的x-player

項目pbc使用方法

1 本例使用工具的版本

quick-cocos2d-x-2.2.1-rc

protoc-2.4.1-win32

2 使用protoc生成腳本

下載protoc-2.4.1-win32.zip 解壓到存放proto文件的目錄,在存放proto文件的位置編寫生成protobin的腳本,本例使用win腳本bat.  pbcreate.bat 內容如下:

 1 @echo off
 2 set DIR=%~dp0
 3 cd /d "%DIR%"
 4 setlocal enabledelayedexpansion
 5 for /r %%i in (*.proto) do ( 
 6 set pbname=%%i 
 7       set pbname=!pbname:~0,-5!b
 8       protoc -I %DIR% –descriptor_set_out !pbname! %%i 
 9 )
10 echo "finished" 

 注意:一定要使用2.4.1版本的protoc,新版本無法使用descriptor_set_out命令

3 pbc項目修改

下載pbc項目,https://github.com/miaodadao/pbc 

修改項目,把pbc-lua.c(此文件路徑:binding\lua\pbc-lua.c)引入工程

編寫pbc-lua.h頭文件如下

 1 #else         /* use a DLL library */
 2     #define LUA_EXTENSIONS_DLL
 3 #endif
 4 #if __cplusplus
 5 extern "C" {
 6 #endif
 7 #include "lauxlib.h"
 8 int LUA_EXTENSIONS_DLL luaopen_protobuf_c(lua_State *L);
 9 #if __cplusplus
10 }
11 #endif
12 #endif

 在pbc-lua.c中添加#include “pbc-lua.h”      

4 集成到win的x-player

打開quick-cocos2dx 項目的quick-x-player_2012.sln解決方案,集成到win的x-player:

參考:http://cn.quick-x.com/?p=253  Step 6: 編譯 quick-x-player proj.win32 工程

保證當前player功能能夠編譯,我的環境是vs2012,接下來再導入pbc項目,步驟如下:

首先嘗試在player的解決方案中添加現有項目,選擇pbc項目下 pbc.vcxproj 文件,如果編譯不正常則考慮自己新建空項目,然后在項目中導入pbc項目的所有源碼,其項目屬性配置可以直接參考player解決方案中 lua_extension_201x 的屬性配置

導入的pbc.vcxproj 項目后,要保證pbc.vcxproj 中包含進來pub-lua.h 

接下來修改quick-x-player_201x項目屬性:右鍵quick-x-player_201x項目>>屬性>>通用屬性>>添加新引用>>選擇剛導入的pbc項目>>確定

修改quick-x-player_201x項目的CCLuaStack.cpp ,導入pbc的lua接口。

添加pub-lua.h這個頭文件,根據自己項目位置調整導入路徑:

在CCLuaStack.ccp的bool CCLuaStack::init(void)函數中luaopen_cocos2dx_extra_luabinding(m_state);后添加luaopen_protobuf_c(m_state);

同時在#include "cocos2dx_extra_luabinding.h"后添加#include "pbc-lua.h"

編譯完成后pbc就集成到了x-player中

例子以后再寫^_^

參考:

雲風pbc的用法:http://www.cnblogs.com/ghost240/archive/2013/08/12/3253092.html

本例使用的項目位置:https://github.com/miaodadao/pbc 

框架Quick-cocos2dx官網:http://cn.quick-x.com/

pb文件生成工具:https://code.google.com/p/protobuf/downloads/list ,本例下載:protoc-2.4.1-win32.zip


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM