关于cocos2d-x下使用lua脚本的问题
我的过程是这样的,我先建立了一个支持lua的cocos2d-x的项目,还没有写任何的代码,然后编译,说找不到cocos-ext.h这个文件,然后包含路径以及添加链接库,然后编译通过,但是执行的时候,出现了链接错误如下:
liblua.lib(tolua_to.obj) : error LNK2001: 无法解析的外部符号 _lua_pushnumber
1>CCLuaEngine.obj : error LNK2019: 无法解析的外部符号 _lua_pushnumber,该符号在函数 "public: virtual int __thiscall cocos2d::CCLuaEngine::executeLayerTouchesEvent(class cocos2d::CCLayer *,int,class cocos2d::CCSet *)" (?executeLayerTouchesEvent@CCLuaEngine@cocos2d@@UAEHPAVCCLayer@2@HPAVCCSet@2@@Z) 中被引用
1>liblua.lib(CCLuaStack.obj) : error LNK2001: 无法解析的外部符号 _lua_pushnumber
1>liblua.lib(tolua_is.obj) : error LNK2001: 无法解析的外部符号 _lua_pushnumber
1>liblua.lib(tolua_push.obj) : error LNK2001: 无法解析的外部符号 _lua_pushnumber
1>CCLuaEngine.obj : error LNK2019: 无法解析的外部符号 _lua_pushinteger,该符号在函数 "public: virtual int __thiscall cocos2d::CCLuaEngine::executeLayerTouchesEvent(class cocos2d::CCLayer *,int,class cocos2d::CCSet *)" (?executeLayerTouchesEvent@CCLuaEngine@cocos2d@@UAEHPAVCCLayer@2@HPAVCCSet@2@@Z) 中被引用
1>tolua_fix.obj : error LNK2001: 无法解析的外部符号 _lua_pushinteger
1>liblua.lib(CCLuaStack.obj) : error LNK2001: 无法解析的外部符号 _lua_pushinteger
1>liblua.lib(tolua_event.obj) : error LNK2001: 无法解析的外部符号 _lua_createtable
1>CCLuaEngine.obj : error LNK2019: 无法解析的外部符号 _lua_createtable,该符号在函数 "public: virtual int __thiscall cocos2d::CCLuaEngine::executeLayerTouchesEvent(class cocos2d::CCLayer *,int,class cocos2d::CCSet *)" (?executeLayerTouchesEvent@CCLuaEngine@cocos2d@@UAEHPAVCCLayer@2@HPAVCCSet@2@@Z) 中被引用
1>tolua_fix.obj : error LNK2001: 无法解析的外部符号 _lua_createtable
1>liblua.lib(CCLuaStack.obj) : error LNK2001: 无法解析的外部符号 _lua_createtable
1>liblua.lib(tolua_map.obj) : error LNK2001: 无法解析的外部符号 _lua_createtable
1>CCLuaEngine.obj : error LNK2019: 无法解析的外部符号 _lua_rawseti,该符号在函数 "public: virtual int __thiscall cocos2d::CCLuaEngine::executeLayerTouchesEvent(class cocos2d::CCLayer *,int,class cocos2d::CCSet *)" (?executeLayerTouchesEvent@CCLuaEngine@cocos2d@@UAEHPAVCCLayer@2@HPAVCCSet@2@@Z) 中被引用
1>liblua.lib(CCLuaStack.obj) : error LNK2001: 无法解析的外部符号 _lua_rawseti
1>liblua.lib(tolua_to.obj) : error LNK2001: 无法解析的外部符号 _lua_tolstring
1>Cocos2dxLuaLoader.obj : error LNK2019: 无法解析的外部符号 _lua_tolstring,该符号在函数 _cocos2dx_lua_loader 中被引用
1>tolua_fix.obj : error LNK2001: 无法解析的外部符号 _lua_tolstring
1>liblua.lib(CCLuaStack.obj) : error LNK2001: 无法解析的外部符号 _lua_tolstring
1>liblua.lib(tolua_is.obj) : error LNK2001: 无法解析的外部符号 _lua_tolstring
1>Cocos2dxLuaLoader.obj : error LNK2019: 无法解析的外部符号 _luaL_checklstring,该符号在函数 _cocos2dx_lua_loader 中被引用
1>Cocos2dxLuaLoader.obj : error LNK2019: 无法解析的外部符号 _luaL_error,该符号在函数 _cocos2dx_lua_loader 中被引用
1>liblua.lib(tolua_is.obj) : error LNK2001: 无法解析的外部符号 _luaL_error
1>liblua.lib(tolua_map.obj) : error LNK2001: 无法解析的外部符号 _luaL_error
1>Cocos2dxLuaLoader.obj : error LNK2019: 无法解析的外部符号 _luaL_loadbuffer,该符号在函数 _cocos2dx_lua_loader 中被引用
1>liblua.lib(tolua_map.obj) : error LNK2001: 无法解析的外部符号 _luaL_loadbuffer
1>liblua.lib(tolua_map.obj) : error LNK2001: 无法解析的外部符号 _lua_gettop
1>liblua.lib(tolua_push.obj) : error LNK2001: 无法解析的外部符号 _lua_gettop
1>liblua.lib(tolua_to.obj) : error LNK2001: 无法解析的外部符号 _lua_gettop
1>liblua.lib(tolua_event.obj) : error LNK2001: 无法解析的外部符号 _lua_gettop
1>LuaCocos2d.obj : error LNK2019: 无法解析的外部符号 _lua_gettop,该符号在函数 "int __cdecl tolua_Cocos2d_CCAffineTransformConcat00(struct lua_State *)" (?tolua_Cocos2d_CCAffineTransformConcat00@@YAHPAUlua_State@@@Z) 中被引用
1>tolua_fix.obj : error LNK2001: 无法解析的外部符号 _lua_gettop
1>liblua.lib(CCLuaStack.obj) : error LNK2001: 无法解析的外部符号 _lua_gettop
1>liblua.lib(tolua_is.obj) : error LNK2001: 无法解析的外部符号 _lua_gettop
1>liblua.lib(tolua_event.obj) : error LNK2001: 无法解析的外部符号 _lua_touserdata
1>LuaCocos2d.obj : error LNK2019: 无法解析的外部符号 _lua_touserdata,该符号在函数 "int __cdecl tolua_get_Cocos2d_kmMat4_mat(struct lua_State *)" (?tolua_get_Cocos2d_kmMat4_mat@@YAHPAUlua_State@@@Z) 中被引用
1>tolua_fix.obj : error LNK2001: 无法解析的外部符号 _lua_touserdata
1>liblua.lib(tolua_map.obj) : error LNK2001: 无法解析的外部符号 _lua_touserdata
1>liblua.lib(tolua_to.obj) : error LNK2001: 无法解析的外部符号 _lua_touserdata
1>liblua.lib(tolua_map.obj) : error LNK2001: 无法解析的外部符号 _lua_pushstring
1>liblua.lib(tolua_push.obj) : error LNK2001: 无法解析的外部符号 _lua_pushstring
1>liblua.lib(tolua_event.obj) : error LNK2001: 无法解析的外部符号 _lua_pushstring
1>LuaCocos2d.obj : error LNK2019: 无法解析的外部符号 _lua_pushstring,该符号在函数 "int __cdecl tolua_get_Cocos2d_kmMat4_mat(struct lua_State *)" (?tolua_get_Cocos2d_kmMat4_mat@@YAHPAUlua_State@@@Z) 中被引用
1>tolua_fix.obj : error LNK2001: 无法解析的外部符号 _lua_pushstring
1>liblua.lib(CCLuaStack.obj) : error LNK2001: 无法解析的外部符号 _lua_pushstring
1>liblua.lib(tolua_is.obj) : error LNK2001: 无法解析的外部符号 _lua_pushstring
1>liblua.lib(tolua_push.obj) : error LNK2001: 无法解析的外部符号 _lua_rawget
1>liblua.lib(tolua_event.obj) : error LNK2001: 无法解析的外部符号 _lua_rawget
1>LuaCocos2d.obj : error LNK2019: 无法解析的外部符号 _lua_rawget,该符号在函数 "int __cdecl tolua_get_Cocos2d_kmMat4_mat(struct lua_State *)" (?tolua_get_Cocos2d_kmMat4_mat@@YAHPAUlua_State@@@Z) 中被引用
1>tolua_fix.obj : error LNK2001: 无法解析的外部符号 _lua_rawget
1>liblua.lib(tolua_is.obj) : error LNK2001: 无法解析的外部符号 _lua_rawget
1>liblua.lib(tolua_map.obj) : error LNK2001: 无法解析的外部符号 _lua_rawget
1>liblua.lib(tolua_push.obj) : error LNK2001: 无法解析的外部符号 _lua_settop
1>liblua.lib(tolua_to.obj) : error LNK2001: 无法解析的外部符号 _lua_settop
1>liblua.lib(tolua_event.obj) : error LNK2001: 无法解析的外部符号 _lua_settop
1>tolua_fix.obj : error LNK2019: 无法解析的外部符号 _lua_settop,该符号在函数 _toluafix_pushusertype_ccobject 中被引用
1>liblua.lib(CCLuaStack.obj) : error LNK2001: 无法解析的外部符号 _lua_se
谁能告诉我怎么解决这个问题。
[解决办法]
不如先看看别人是怎么弄的。比如这个:https://github.com/narfdotpl/lua-on-ios
[解决办法]
我的过程是这样的,我先建立了一个支持lua的cocos2d-x的项目,还没有写任何的代码,然后编译,说找不到cocos-ext.h这个文件,然后包含路径以及添加链接库,然后编译通过,但是执行的时候,出现了链接错误如下:
liblua.lib(tolua_to.obj) : error LNK2001: 无法解析的外部符号 _lua_pushnumber
1>CCLuaEngine.obj : error LNK2019: 无法解析的外部符号 _lua_pushnumber,该符号在函数 "public: virtual int __thiscall cocos2d::CCLuaEngine::executeLayerTouchesEvent(class cocos2d::CCLayer *,int,class cocos2d::CCSet *)" (?executeLayerTouchesEvent@CCLuaEngine@cocos2d@@UAEHPAVCCLayer@2@HPAVCCSet@2@@Z) 中被引用
1>liblua.lib(CCLuaStack.obj) : error LNK2001: 无法解析的外部符号 _lua_pushnumber
1>liblua.lib(tolua_is.obj) : error LNK2001: 无法解析的外部符号 _lua_pushnumber
1>liblua.lib(tolua_push.obj) : error LNK2001: 无法解析的外部符号 _lua_pushnumber
1>CCLuaEngine.obj : error LNK2019: 无法解析的外部符号 _lua_pushinteger,该符号在函数 "public: virtual int __thiscall cocos2d::CCLuaEngine::executeLayerTouchesEvent(class cocos2d::CCLayer *,int,class cocos2d::CCSet *)" (?executeLayerTouchesEvent@CCLuaEngine@cocos2d@@UAEHPAVCCLayer@2@HPAVCCSet@2@@Z) 中被引用
1>tolua_fix.obj : error LNK2001: 无法解析的外部符号 _lua_pushinteger
1>liblua.lib(CCLuaStack.obj) : error LNK2001: 无法解析的外部符号 _lua_pushinteger
1>liblua.lib(tolua_event.obj) : error LNK2001: 无法解析的外部符号 _lua_createtable
1>CCLuaEngine.obj : error LNK2019: 无法解析的外部符号 _lua_createtable,该符号在函数 "public: virtual int __thiscall cocos2d::CCLuaEngine::executeLayerTouchesEvent(class cocos2d::CCLayer *,int,class cocos2d::CCSet *)" (?executeLayerTouchesEvent@CCLuaEngine@cocos2d@@UAEHPAVCCLayer@2@HPAVCCSet@2@@Z) 中被引用
1>tolua_fix.obj : error LNK2001: 无法解析的外部符号 _lua_createtable
1>liblua.lib(CCLuaStack.obj) : error LNK2001: 无法解析的外部符号 _lua_createtable
1>liblua.lib(tolua_map.obj) : error LNK2001: 无法解析的外部符号 _lua_createtable
1>CCLuaEngine.obj : error LNK2019: 无法解析的外部符号 _lua_rawseti,该符号在函数 "public: virtual int __thiscall cocos2d::CCLuaEngine::executeLayerTouchesEvent(class cocos2d::CCLayer *,int,class cocos2d::CCSet *)" (?executeLayerTouchesEvent@CCLuaEngine@cocos2d@@UAEHPAVCCLayer@2@HPAVCCSet@2@@Z) 中被引用
1>liblua.lib(CCLuaStack.obj) : error LNK2001: 无法解析的外部符号 _lua_rawseti
1>liblua.lib(tolua_to.obj) : error LNK2001: 无法解析的外部符号 _lua_tolstring
1>Cocos2dxLuaLoader.obj : error LNK2019: 无法解析的外部符号 _lua_tolstring,该符号在函数 _cocos2dx_lua_loader 中被引用
1>tolua_fix.obj : error LNK2001: 无法解析的外部符号 _lua_tolstring
1>liblua.lib(CCLuaStack.obj) : error LNK2001: 无法解析的外部符号 _lua_tolstring
1>liblua.lib(tolua_is.obj) : error LNK2001: 无法解析的外部符号 _lua_tolstring
1>Cocos2dxLuaLoader.obj : error LNK2019: 无法解析的外部符号 _luaL_checklstring,该符号在函数 _cocos2dx_lua_loader 中被引用
1>Cocos2dxLuaLoader.obj : error LNK2019: 无法解析的外部符号 _luaL_error,该符号在函数 _cocos2dx_lua_loader 中被引用
1>liblua.lib(tolua_is.obj) : error LNK2001: 无法解析的外部符号 _luaL_error
1>liblua.lib(tolua_map.obj) : error LNK2001: 无法解析的外部符号 _luaL_error
1>Cocos2dxLuaLoader.obj : error LNK2019: 无法解析的外部符号 _luaL_loadbuffer,该符号在函数 _cocos2dx_lua_loader 中被引用
1>liblua.lib(tolua_map.obj) : error LNK2001: 无法解析的外部符号 _luaL_loadbuffer
1>liblua.lib(tolua_map.obj) : error LNK2001: 无法解析的外部符号 _lua_gettop
1>liblua.lib(tolua_push.obj) : error LNK2001: 无法解析的外部符号 _lua_gettop
1>liblua.lib(tolua_to.obj) : error LNK2001: 无法解析的外部符号 _lua_gettop
1>liblua.lib(tolua_event.obj) : error LNK2001: 无法解析的外部符号 _lua_gettop
1>LuaCocos2d.obj : error LNK2019: 无法解析的外部符号 _lua_gettop,该符号在函数 "int __cdecl tolua_Cocos2d_CCAffineTransformConcat00(struct lua_State *)" (?tolua_Cocos2d_CCAffineTransformConcat00@@YAHPAUlua_State@@@Z) 中被引用
1>tolua_fix.obj : error LNK2001: 无法解析的外部符号 _lua_gettop
1>liblua.lib(CCLuaStack.obj) : error LNK2001: 无法解析的外部符号 _lua_gettop
1>liblua.lib(tolua_is.obj) : error LNK2001: 无法解析的外部符号 _lua_gettop
1>liblua.lib(tolua_event.obj) : error LNK2001: 无法解析的外部符号 _lua_touserdata
1>LuaCocos2d.obj : error LNK2019: 无法解析的外部符号 _lua_touserdata,该符号在函数 "int __cdecl tolua_get_Cocos2d_kmMat4_mat(struct lua_State *)" (?tolua_get_Cocos2d_kmMat4_mat@@YAHPAUlua_State@@@Z) 中被引用
1>tolua_fix.obj : error LNK2001: 无法解析的外部符号 _lua_touserdata
1>liblua.lib(tolua_map.obj) : error LNK2001: 无法解析的外部符号 _lua_touserdata
1>liblua.lib(tolua_to.obj) : error LNK2001: 无法解析的外部符号 _lua_touserdata
1>liblua.lib(tolua_map.obj) : error LNK2001: 无法解析的外部符号 _lua_pushstring
1>liblua.lib(tolua_push.obj) : error LNK2001: 无法解析的外部符号 _lua_pushstring
1>liblua.lib(tolua_event.obj) : error LNK2001: 无法解析的外部符号 _lua_pushstring
1>LuaCocos2d.obj : error LNK2019: 无法解析的外部符号 _lua_pushstring,该符号在函数 "int __cdecl tolua_get_Cocos2d_kmMat4_mat(struct lua_State *)" (?tolua_get_Cocos2d_kmMat4_mat@@YAHPAUlua_State@@@Z) 中被引用
1>tolua_fix.obj : error LNK2001: 无法解析的外部符号 _lua_pushstring
1>liblua.lib(CCLuaStack.obj) : error LNK2001: 无法解析的外部符号 _lua_pushstring
1>liblua.lib(tolua_is.obj) : error LNK2001: 无法解析的外部符号 _lua_pushstring
1>liblua.lib(tolua_push.obj) : error LNK2001: 无法解析的外部符号 _lua_rawget
1>liblua.lib(tolua_event.obj) : error LNK2001: 无法解析的外部符号 _lua_rawget
1>LuaCocos2d.obj : error LNK2019: 无法解析的外部符号 _lua_rawget,该符号在函数 "int __cdecl tolua_get_Cocos2d_kmMat4_mat(struct lua_State *)" (?tolua_get_Cocos2d_kmMat4_mat@@YAHPAUlua_State@@@Z) 中被引用
1>tolua_fix.obj : error LNK2001: 无法解析的外部符号 _lua_rawget
1>liblua.lib(tolua_is.obj) : error LNK2001: 无法解析的外部符号 _lua_rawget
1>liblua.lib(tolua_map.obj) : error LNK2001: 无法解析的外部符号 _lua_rawget
1>liblua.lib(tolua_push.obj) : error LNK2001: 无法解析的外部符号 _lua_settop
1>liblua.lib(tolua_to.obj) : error LNK2001: 无法解析的外部符号 _lua_settop
1>liblua.lib(tolua_event.obj) : error LNK2001: 无法解析的外部符号 _lua_settop
1>tolua_fix.obj : error LNK2019: 无法解析的外部符号 _lua_settop,该符号在函数 _toluafix_pushusertype_ccobject 中被引用
1>liblua.lib(CCLuaStack.obj) : error LNK2001: 无法解析的外部符号 _lua_se
谁能告诉我怎么解决这个问题。