参考自李华明个人博客:http://www.himigame.com/lua-game/1388.html
首先我们的项目是Lua项目,而且有编译过来的自定义类供给Lua使用,不会的同学可以参考自:http://blog.csdn.net/song_hui_xiang/article/details/15712417
然后开始编译到Android,在这里只讲述与Cocos2dx项目编译到Android不同的地方,不会的同学可参考自:http://blog.csdn.net/song_hui_xiang/article/details/15815493
我采取李华明所给的第二种方法来解决自定义类编译的相关问题。
我的Cocos2d-x引擎路径:/Users/xiangzi/Documents/cocos2d-x-2.1.4
要编译的Lua项目路径:/Users/xiangzi/Desktop/ToLua
Cocos2d-x引擎下的Android.mk文件,如图1:
打开此文件我们可以看到LOCAL_SRC_FILES下的../cocos2dx_support/LuaCocos2d.cpp \,在编译项目时实际上就是编译的这个路径下的LuaCocos2d.cpp,而不是我们自己项目下的,所以我们要修改这个路径到自己项目下。我的修改如图2:
修改我们自身项目下LuaCocos2d.h 导入头文件路径写全
#ifndef __LUACOCOS2D_H_ #define __LUACOCOS2D_H_ #ifdef __cplusplus #include "/Users/xiangzi/Desktop/ToLua/ToLua/Classes/MyselfCpp.h" extern "C" { #endif #include "tolua++.h" #ifdef __cplusplus } #endif TOLUA_API int tolua_Cocos2d_open(lua_State* tolua_S); #endif // __LUACOCOS2D_H_
上面所讲修改好后就可以编译了,步骤和Cocos2dx项目一样。
最终运行成功: