大佬教程收集整理的这篇文章主要介绍了在quick cocos2dx中增加解析protobuf的扩展,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
导出了lua版的protobuf文件以后,就要给quick cocos2dx使用了(其实给cocos2dx的lua版本使用也是同样的道理)
1 根据自己的quick版本查找lua扩展目录,我用的是3.2rc版,
目录在 quick-cocos2dx-3.2rc0/quick/lib/lua_extensions在此新建protobuf文件夹,免得日后混乱
把Protoc-gen-lua/protobuf/pb.c文件拷贝至此文件夹下
2 修改lua_extensions/lua_extensions.c 这个配置文件,以支持最新添加的protobuf
其实只加了2行代码,由于整个配置比较小,全贴过来了
#include "lua_extensions.h" #if __cplusplus extern "C" { #endif // cjson #include "cjson/lua_cjson.h" // zlib #include "zlib/lua_zlib.h" // lpack #include "lpack/lpack.h" #ifndef WP8 // socket #include "socket/luasocket.h" #include "socket/mime.h" #include "socket/socket_scripts.h" // filesystem #include "filesystem/lfs.h" #endif // lsqlite3 #include "lsqlite3/l@R_607_3991@" //protobuf #include "protobuf/pb.c" static luaL_Reg luax_exts[] = { #if CC_USE_JSON {"cjson",luaopen_cjson_safE},#endif {"zlib",luaopen_zlib},{"pack",luaopen_pack},#ifndef WP8 {"socket.core",luaopen_socket_corE},{"mime.core",luaopen_mime_corE},{"lfs",luaopen_lfs},#endif #if CC_USE_sqlitE {"lsqlite3",luaopen_lsqlite3},#endif {NULL,NULL} }; void luaopen_lua_extensions(lua_State *L) { // load extensions luaL_Reg* lib = luax_exts; lua_getglobal(L,"package"); lua_getfield(L,-1,"preload"); for (; lib->func; lib++) { lua_pushcfunction(L,lib->func); lua_setfield(L,-2,lib->Name); } lua_pop(L,2); // load extensions script #ifndef WP8 luaopen_socket_scripts(L); luaopen_pb(L); // add protobuf extension register #endif } #if __cplusplus } // extern "C" #endif
重新编译play3,需要在libquick/lua_extensions里面添加刚刚加入的protobuf/pb.c这个文件
3 把lua的库也放到quick中
protoc-gen-lua/protobuf/ 这个目录下除了有pb.c以外还有*.lua文件。用来支持proto转码后的文件调用。
复制protoc-gen-lua/protobuf文件夹到自己的项目目录下面。
由于win平台下并没有endian.h这个文件,因此这句需要注释掉,否则编译不过,最好作如下修改
#ifdef _WIN32 #else #ifdef _WIN64 #else #ifdef _ALLBSD_sourcE #include <machine/endian.h> #else #include <endian.h> #endif #endif #endif
此至,在quick-cocos2dx中就具解析protobuf的能力了。接下来是尝试lua的demo.
PS:在网上看了很多关于quick-cocos2dx加入protobuf的文章,发现大多数不可行,于是自己折腾一番,终于有点效果。
特记录下来,给大家参考,然后希望后来的quick版本能够自带此功能。
不过据说这个会遇到些嵌套的问题,这个日后再解决,吐糟:网上好多风云的pbc工程加入的文章都是没有完整工程的,无法验证。
以上是大佬教程为你收集整理的在quick cocos2dx中增加解析protobuf的扩展全部内容,希望文章能够帮你解决在quick cocos2dx中增加解析protobuf的扩展所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。