在cocos2dx-lua上导入sproto的相关配置

前端之家收集整理的这篇文章主要介绍了在cocos2dx-lua上导入sproto的相关配置前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

笔者使用cocos2dx-lua开发游戏的过程中,由于服务端采用skynet框架进行通讯,故客户端需要配置sproto相关环境。方法如下

1.在github上下载skynet源码,拷贝lualib-src/sproto文件夹和3rd/lpeg文件夹,并将其放置在工作所在目录的frameworks\cocos2d-x\external\lua文件夹内

2.从VS解决方案中查找文件lua_extensions.c,并在其首部包含以下文件

//lpeg

#include"lpeg/lptypes.h"

#include"lpeg/lpcap.h"

#include"lpeg/lpcode.h"

#include"lpeg/lpprint.h"

#include"lpeg/lptree.h"

#include"lpeg/lpvm.h"

//sproto

#include"sproto/sproto.h"

声明函数,在luax_exts[]前,加上

externintluaopen_sproto_core(lua_State*L);

externintluaopen_lpeg(lua_State*L);


luax_exts[]新增这两项

staticluaL_Regluax_exts[]={

{"lpeg",luaopen_lpeg},

{"sproto.core",luaopen_sproto_core},


3.在VS工程libluacocos2dx内添加sproto和lpeg文件夹,并将对应文件导入,重新生成工程即可


4.在frameworks\cocos2d-x\cocos\scripting\lua-bindings\proj.android\Android.mk中添加以下内容

#lpeg
LOCAL_SRC_FILES += ../../../../external/lua/lpeg/lpcap.c \
../../../../external/lua/lpeg/lpcode.c \
../../../../external/lua/lpeg/lpprint.c \
../../../../external/lua/lpeg/lptree.c \
../../../../external/lua/lpeg/lpvm.c




#sproto
LOCAL_SRC_FILES += ../../../../external/lua/sproto/lsproto.c \
../../../../external/lua/sproto/sproto.c

以保证打包的正确性


参考连接:http://blog.csdn.net/hqq39/article/details/50708530

猜你在找的Cocos2d-x相关文章