【发布时间】:2012-09-21 10:51:05
【问题描述】:
我使用的是 Visual Studio 2012,当我尝试编译时,出现以下错误:
Error 7 error LNK1120: 6 unresolved externals C:\Users\MS\Documents\Visual Studio 2012\Projects\LuaTest\Release\LuaTest.exe LuaTest
Error 4 error LNK2001: unresolved external symbol _lua_close C:\Users\MS\Documents\Visual Studio 2012\Projects\LuaTest\LuaTest\main.obj LuaTest
Error 5 error LNK2001: unresolved external symbol _lua_pcallk C:\Users\MS\Documents\Visual Studio 2012\Projects\LuaTest\LuaTest\main.obj LuaTest
Error 6 error LNK2001: unresolved external symbol _lua_settop C:\Users\MS\Documents\Visual Studio 2012\Projects\LuaTest\LuaTest\main.obj LuaTest
Error 2 error LNK2001: unresolved external symbol _luaL_loadfilex C:\Users\MS\Documents\Visual Studio 2012\Projects\LuaTest\LuaTest\main.obj LuaTest
Error 1 error LNK2001: unresolved external symbol _luaL_newstate C:\Users\MS\Documents\Visual Studio 2012\Projects\LuaTest\LuaTest\main.obj LuaTest
Error 3 error LNK2001: unresolved external symbol _luaopen_base C:\Users\MS\Documents\Visual Studio 2012\Projects\LuaTest\LuaTest\main.obj LuaTest
源代码取自 HERE.
使用以下库版本:lua-5.2.1_Win32_dll10_lib.zip
我尝试了不同的 lua52.lib 文件,但所有这些文件都出现了这些错误。 有什么问题?
【问题讨论】:
-
链接器显示 6 个未解析的符号,但我只看到 4 个。另外 2 个是
luaL_newstate和luaL_openlibs?我要问的背景问题:这些未解析的符号是代表 all 您在应用程序中使用的 Lua 函数还是仅代表 some ? -
感谢您指出这一点,我编辑了我的原始帖子。一个未解析的符号确实是 luaL_newstate,但另一个是 _luaopen_base。
-
这 6 个未解析的符号确实代表了简单教程示例中使用的 所有 Lua 函数。这意味着链接器没有使用 Lua 5.2 库。