然后,可以得到重要的两个目录
1 2 | protoc-gen-lua/plugin/ protoc-gen-lua/protobuf/ |
plugin目录是提供将buffer 文件解析成lua 版本的类库, 需要python 支持。 如果已经编译了Google 官方的protoc 那个程序, 只需要在系统PATH环境变量总追加plugin目录就好:
1 | export PATH={protoc-gen-lua DIR }/plugin:$PATH |
1 | /quick-cocos2d-x/lib/cocos2d-x/scripting/lua/lua_extensions/ |
1 | ./quick-cocos2d-x/lib/cocos2d-x/scripting/lua/lua_extensions/protobuf/pb.c |
1 | ./quick-cocos2d-x/lib/cocos2d-x/scripting/lua/lua_extensions/lua_extensions.c |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 @H_739_301@ 58 59 60 61 62 63 64 65 66 67 68 69 70 | #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" // socket #include "socket/luasocket.h" #include "socket/mime.h" #include "socket/socket_scripts.h" // filesystem #include "filesystem/lfs.h" // lsqlite3 #include "lsqlite3/lsqlite3.h" #include "protobuf/pb.c" //引用protobuf 库文件 static luaL_Reg luax_exts[] = { { "cJson" ,luaopen_cJson_safe}, { "zlib" ,luaopen_zlib}, { "pack" ,luaopen_pack}, { "socket.core" ,luaopen_socket_core}, { "mime.core" ,luaopen_mime_core}, { "lfs" ,luaopen_lfs}, { "lsqlite3" ,luaopen_lsqlite3}, {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); @H_739_301@ } lua_pop(L,2); // load extensions script luaopen_socket_scripts(L); luaopen_pb(L); //这是加入的protobuf 扩展注册名 } #if __cplusplus } // extern "C" #endif |
1 | [PROJECT]/scripts/protobuf/*.lua |
1 | package.path = package.path .. ";./protobuf/?.lua;./scripts/protobuf/?.lua;" |
1 | cd quick-cocos2d-x/player/proj.qt |
1 | qmake ./quick-x.pro |
1 | ./quick-cocos2d-x/lib/cocos2d-x/scripting/lua/lua_extensions/protobuf/pb.c |
1 | #include <endian.h> |
1 | #include <machine/endian.h> |
来源网址:http://www.cocoachina.com/gamedev/cocos/2014/0525/8538.html
总结以上是内存溢出为你收集整理的Quick-Cocos2d-x 集成 Google protobuf 方法全部内容,希望文章能够帮你解决Quick-Cocos2d-x 集成 Google protobuf 方法所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)