將protubuf放置在external文件夾android
在vs工程裏的luacocos2d裏新建篩選器protubuf,將pb.c加入到該篩選器下.web
將pb.c文件的屬性裏設置改文件編譯爲C文件.windows
將luastruct放置在external的lua下websocket
在vs工程裏的luacocos2d裏新建篩選器luastruc,將struct.c加入到該篩選器下.socket
將struct.c文件的屬性裏設置改文件編譯爲C文件.函數
而後在lua_module_rigister.cpp裏進行註冊.加入如下代碼lua
#ifdef __cplusplus
extern "C" {
#endif
int luaopen_protobuf_c(lua_State *L);
int luaopen_struct(lua_State* L);
#ifdef __cplusplus
}
#endifip
在lua_module_register函數裏添加io
luaopen_protobuf_c(L);
luaopen_struct(L);編譯
至此protubuf就可在windows上運行了.可是Android上還不行.
修改frameworks\cocos2d-x\cocos\scripting\lua-bindings\proj.android下的Android.mk文件
#network
LOCAL_SRC_FILES += ../../../../external/protobuf/pb.c
#luastruct
LOCAL_SRC_FILES += ../../../../external/lua/luastruct/struct.c
至此andriod也能夠運行.
在lua中使用則仍需在
lua工程目錄下添加protubuf的lua代碼.
至此protubuf就能夠在lua中使用.
可是若是應用到實戰中,仍需使用luasocket或者websocket先讀到數據包,再使用protubuf解析出來實際數據.