protubuf在cocos2dx的应用安装

将protubuf放置在external文件夹

在vs工程里的luacocos2d里新建筛选器protubuf,将pb.c加入到该筛选器下.

将pb.c文件的属性里设置改文件编译为C文件.

将luastruct放置在external的lua下

在vs工程里的luacocos2d里新建筛选器luastruc,将struct.c加入到该筛选器下.

将struct.c文件的属性里设置改文件编译为C文件.

然后在lua_module_rigister.cpp里进行注册.加入以下代码

#ifdef __cplusplus
extern "C" {
#endif
int luaopen_protobuf_c(lua_State *L);
int luaopen_struct(lua_State* L);
#ifdef __cplusplus
}
#endif

在lua_module_register函数里添加

luaopen_protobuf_c(L);
luaopen_struct(L);

至此protubuf就可在windows上运行了.但是Android上还不行.

修改frameworkscocos2d-xcocosscriptinglua-bindingsproj.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解析出来实际数据.

享受HelloWorld带来的思考盛宴
原文地址:https://www.cnblogs.com/colin-chan/p/5268902.html