1. 文件放到 cocos2d-x/external/lua
目錄下
2. 修改 lua_extensions.c
甸箱,包含相關(guān)文件
3. 修改 Android.mk
做 Android 支持
Lua 擴(kuò)展庫一般由 C/C++ 寫成,其接口有兩種方式生成脚线,一種是手寫 luaL_register(lua5.1)
檀训,另一種是利用 tolua++ 工具埋泵。這里討論的是前者留夜,即如何把已經(jīng)寫好的庫導(dǎo)入到 cocos2dx 項(xiàng)目中使用包警。
0. 準(zhǔn)備所需的庫
擴(kuò)展庫在 cocos2d-x/external/lua
目錄下撬碟,目前有 cjson
诞挨、 luasocket
、 filesysytem(lfs)
等常用庫呢蛤。
要導(dǎo)入的庫是云風(fēng)的lua內(nèi)存快照snapshot
1. 文件放到 cocos2d-x/external/lua
目錄下
git clone https://github.com/cloudwu/lua-snapshot project_dir/cocos2d-x/external/lua/snapshot
2. 修改 lua_extensions.c
惶傻,包含相關(guān)文件
在 cocos2d-x/cocos/scripting/lua-bindings/manual
找到 lua_extensions.c
,頭部包含所需文件
#include "snapshot/snapshot.c"
luax_exts
函數(shù)中加入
static luaL_Reg luax_exts[] = {
/*
...
*/
{"snapshot", luaopen_snapshot},
{NULL, NULL}
};
3. 修改 Android.mk
做 Android 支持
上述工作完成后其障,可以在 iOS 和 mac 下編譯運(yùn)行成功达罗。但 Android 還要多做點(diǎn)事情。
在 cocos2d-x/cocos/scripting/lua-bindings/
目錄下,找到 Android.mk
文件粮揉,修改 LOCAL_SRC_FILES
尾部巡李,加入我們需要的c文件
LOCAL_SRC_FILES =
# ... #
../../../../external/lua/lua/lzio.c\
../../../../external/lua/snapshot/snapshot.c
via coder_hsc@csdn