码迷,mamicode.com
首页 > 编程语言 > 详细

VC++编译lua库 无法解析lua符号问题

时间:2017-07-30 11:37:41      阅读:956      评论:0      收藏:0      [点我收藏+]

标签:lua   cti   rda   blog   int   this   script   handler   value   

VC编译lua库 出现错误:

错误	36	error LNK1120: 21 个无法解析的外部命令	C:\Users\luozhuang\Desktop\onscripter-20120416VC\Release\onscripter.exe	onscripter
错误	19	error LNK2019: 无法解析的外部符号 "char const * __cdecl lua_tolstring(struct lua_State *,int,unsigned int *)" (?lua_tolstring@@YAPBDPAUlua_State@@HPAI@Z),该符号在函数 "public: int __thiscall LUAHandler::callFunction(bool,char const *)" (?callFunction@LUAHandler@@QAEH_NPBD@Z) 中被引用	C:\Users\luozhuang\Desktop\onscripter-20120416VC\LUAHandler.obj	onscripter
错误	32	error LNK2019: 无法解析的外部符号 "char const * __cdecl luaL_checklstring(struct lua_State *,int,unsigned int *)" (?luaL_checklstring@@YAPBDPAUlua_State@@HPAI@Z),该符号在函数 "public: bool __thiscall LUAHandler::isCallbackEnabled(int)" (?

isCallbackEnabled@LUAHandler@@QAE_NH@Z) 中被引用 C:\Users\luozhuang\Desktop\onscripter-20120416VC\LUAHandler.obj onscripter 错误 29 error LNK2019: 无法解析的外部符号 "int __cdecl lua_error(struct lua_State *)" (?lua_error@@YAHPAUlua_State@@@Z),该符号在函数 "public: bool __thiscall LUAHandler::isCallbackEnabled(int)" (?isCallbackEnabled@LUAHandler@@QAE_NH@Z) 中被引用 C:\Users\luozhuang\Desktop\onscripter-20120416VC\LUAHandler.obj onscripter 错误 28 error LNK2019: 无法解析的外部符号 "int __cdecl lua_pcall(struct lua_State *,int,int,int)" (?

lua_pcall@@YAHPAUlua_State@@HHH@Z)。该符号在函数 "public: void __thiscall LUAHandler::init(class ONScripter *,class ScriptHandler *)" (?

init@LUAHandler@@QAEXPAVONScripter@@PAVScriptHandler@@@Z) 中被引用 C:\Users\luozhuang\Desktop\onscripter-20120416VC\LUAHandler.obj onscripter 错误 18 error LNK2019: 无法解析的外部符号 "int __cdecl lua_toboolean(struct lua_State *,int)" (?

lua_toboolean@@YAHPAUlua_State@@H@Z),该符号在函数 "public: bool __thiscall LUAHandler::isCallbackEnabled(int)" (?isCallbackEnabled@LUAHandler@@QAE_NH@Z) 中被引用 C:\Users\luozhuang\Desktop\onscripter-20120416VC\LUAHandler.obj onscripter 错误 17 error LNK2019: 无法解析的外部符号 "int __cdecl lua_tointeger(struct lua_State *,int)" (?lua_tointeger@@YAHPAUlua_State@@H@Z),该符号在函数 "public: bool __thiscall LUAHandler::isCallbackEnabled(int)" (?isCallbackEnabled@LUAHandler@@QAE_NH@Z) 中被引用 C:\Users\luozhuang\Desktop\onscripter-20120416VC\LUAHandler.obj onscripter 错误 33 error LNK2019: 无法解析的外部符号 "int __cdecl luaL_checkinteger(struct lua_State *,int)" (?luaL_checkinteger@@YAHPAUlua_State@@H@Z),该符号在函数 "public: bool __thiscall LUAHandler::isCallbackEnabled(int)" (?isCallbackEnabled@LUAHandler@@QAE_NH@Z) 中被引用 C:\Users\luozhuang\Desktop\onscripter-20120416VC\LUAHandler.obj onscripter 错误 34 error LNK2019: 无法解析的外部符号 "int __cdecl luaL_loadbuffer(struct lua_State *,char const *,unsigned int,char const *)" (?luaL_loadbuffer@@YAHPAUlua_State@@PBDI1@Z),该符号在函数 "public: void __thiscall LUAHandler::init(class ONScripter *,class ScriptHandler *)" (?init@LUAHandler@@QAEXPAVONScripter@@PAVScriptHandler@@@Z) 中被引用 C:\Users\luozhuang\Desktop\onscripter-20120416VC\LUAHandler.obj onscripter 错误 35 error LNK2019: 无法解析的外部符号 "struct lua_State * __cdecl luaL_newstate(void)" (?luaL_newstate@@YAPAUlua_State@@XZ)。该符号在函数 "public: void __thiscall LUAHandler::init(class ONScripter *,class ScriptHandler *)" (?

init@LUAHandler@@QAEXPAVONScripter@@PAVScriptHandler@@@Z) 中被引用 C:\Users\luozhuang\Desktop\onscripter-20120416VC\LUAHandler.obj onscripter 错误 15 error LNK2019: 无法解析的外部符号 "void __cdecl lua_close(struct lua_State *)" (?

lua_close@@YAXPAUlua_State@@@Z)。该符号在函数 "public: __thiscall LUAHandler::~LUAHandler(void)" (?

?1LUAHandler@@QAE@XZ) 中被引用 C:\Users\luozhuang\Desktop\onscripter-20120416VC\LUAHandler.obj onscripter 错误 26 error LNK2019: 无法解析的外部符号 "void __cdecl lua_getfield(struct lua_State *,int,char const *)" (?lua_getfield@@YAXPAUlua_State@@HPBD@Z),该符号在函数 "public: int __thiscall LUAHandler::callFunction(bool,char const *)" (?callFunction@LUAHandler@@QAEH_NPBD@Z) 中被引用 C:\Users\luozhuang\Desktop\onscripter-20120416VC\LUAHandler.obj onscripter 错误 24 error LNK2019: 无法解析的外部符号 "void __cdecl lua_pushboolean(struct lua_State *,int)" (?

lua_pushboolean@@YAXPAUlua_State@@H@Z),该符号在函数 "public: bool __thiscall LUAHandler::isCallbackEnabled(int)" (?isCallbackEnabled@LUAHandler@@QAE_NH@Z) 中被引用 C:\Users\luozhuang\Desktop\onscripter-20120416VC\LUAHandler.obj onscripter 错误 22 error LNK2019: 无法解析的外部符号 "void __cdecl lua_pushinteger(struct lua_State *,int)" (?lua_pushinteger@@YAXPAUlua_State@@H@Z),该符号在函数 "public: bool __thiscall LUAHandler::isCallbackEnabled(int)" (?

isCallbackEnabled@LUAHandler@@QAE_NH@Z) 中被引用 C:\Users\luozhuang\Desktop\onscripter-20120416VC\LUAHandler.obj onscripter 错误 25 error LNK2019: 无法解析的外部符号 "void __cdecl lua_pushlightuserdata(struct lua_State *,void *)" (?lua_pushlightuserdata@@YAXPAUlua_State@@PAX@Z),该符号在函数 "public: void __thiscall LUAHandler::init(class ONScripter *,class ScriptHandler *)" (?init@LUAHandler@@QAEXPAVONScripter@@PAVScriptHandler@@@Z) 中被引用 C:\Users\luozhuang\Desktop\onscripter-20120416VC\LUAHandler.obj onscripter 错误 21 error LNK2019: 无法解析的外部符号 "void __cdecl lua_pushnumber(struct lua_State *,double)" (?lua_pushnumber@@YAXPAUlua_State@@N@Z)。该符号在函数 "public: bool __thiscall LUAHandler::isCallbackEnabled(int)" (?isCallbackEnabled@LUAHandler@@QAE_NH@Z) 中被引用 C:\Users\luozhuang\Desktop\onscripter-20120416VC\LUAHandler.obj onscripter 错误 23 error LNK2019: 无法解析的外部符号 "void __cdecl lua_pushstring(struct lua_State *,char const *)" (?lua_pushstring@@YAXPAUlua_State@@PBD@Z),该符号在函数 "public: bool __thiscall LUAHandler::isCallbackEnabled(int)" (?isCallbackEnabled@LUAHandler@@QAE_NH@Z) 中被引用 C:\Users\luozhuang\Desktop\onscripter-20120416VC\LUAHandler.obj onscripter 错误 16 error LNK2019: 无法解析的外部符号 "void __cdecl lua_pushvalue(struct lua_State *,int)" (?

lua_pushvalue@@YAXPAUlua_State@@H@Z)。该符号在函数 "public: void __thiscall LUAHandler::init(class ONScripter *,class ScriptHandler *)" (?init@LUAHandler@@QAEXPAVONScripter@@PAVScriptHandler@@@Z) 中被引用 C:\Users\luozhuang\Desktop\onscripter-20120416VC\LUAHandler.obj onscripter 错误 27 error LNK2019: 无法解析的外部符号 "void __cdecl lua_setfield(struct lua_State *,int,char const *)" (?

lua_setfield@@YAXPAUlua_State@@HPBD@Z),该符号在函数 "public: void __thiscall LUAHandler::init(class ONScripter *,class ScriptHandler *)" (?

init@LUAHandler@@QAEXPAVONScripter@@PAVScriptHandler@@@Z) 中被引用 C:\Users\luozhuang\Desktop\onscripter-20120416VC\LUAHandler.obj onscripter 错误 30 error LNK2019: 无法解析的外部符号 "void __cdecl luaL_openlibs(struct lua_State *)" (?luaL_openlibs@@YAXPAUlua_State@@@Z)。该符号在函数 "public: void __thiscall LUAHandler::init(class ONScripter *,class ScriptHandler *)" (?

init@LUAHandler@@QAEXPAVONScripter@@PAVScriptHandler@@@Z) 中被引用 C:\Users\luozhuang\Desktop\onscripter-20120416VC\LUAHandler.obj onscripter 错误 31 error LNK2019: 无法解析的外部符号 "void __cdecl luaL_register(struct lua_State *,char const *,struct luaL_Reg const *)" (?luaL_register@@YAXPAUlua_State@@PBDPBUluaL_Reg@@@Z)。该符号在函数 "public: void __thiscall LUAHandler::init(class ONScripter *,class ScriptHandler *)" (?init@LUAHandler@@QAEXPAVONScripter@@PAVScriptHandler@@@Z) 中被引用 C:\Users\luozhuang\Desktop\onscripter-20120416VC\LUAHandler.obj onscripter 错误 20 error LNK2019: 无法解析的外部符号 "void const * __cdecl lua_topointer(struct lua_State *,int)" (?lua_topointer@@YAPBXPAUlua_State@@H@Z),该符号在函数 "public: bool __thiscall LUAHandler::isCallbackEnabled(int)" (?isCallbackEnabled@LUAHandler@@QAE_NH@Z) 中被引用 C:\Users\luozhuang\Desktop\onscripter-20120416VC\LUAHandler.obj onscripter



解决方法:由于是C++项目。EXE引用的lua头文件必须这样写:

extern "C" {
#include <lua.h>
}

extern "C" {
#include <lualib.h>
#include <lauxlib.h>
}

VC++编译lua库 无法解析lua符号问题

标签:lua   cti   rda   blog   int   this   script   handler   value   

原文地址:http://www.cnblogs.com/jzdwajue/p/7258282.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!