Lua 和 vs2015 的链接错误

我非常新手使用 Visual Studio 和 C++。我尝试建立一个游戏来测试我的 OOP 理解,并使用新语言,然后我意识到我可能需要在我的 C++ 游戏中开始使用脚本语言。我发现 LUA 是游戏脚本部分的好选择,所以我决定跟随我在这里找到的教程: http://www.gamedev.net/page/resources/_/technical/game-programming/the-lua-tutorial-r2999

#include "stdafx.h"
#include <lua.hpp>
#include<iostream>

int main()
{
 char *Lua =
    "x = 8 "
    "return ( x > 7 ) ";

 lua_State *luaState;

 luaState = luaL_newstate();
 int iStatus = luaL_loadstring(luaState, szLua);
 if (iStatus)
 {
    std::cout << "Error: " << lua_tostring(luaState, -1);
    return 1;
 }
 return 0;
}

然而,VS 2015 调试器报错:

 未解析的外部符号 _luaL_newstate
 未解决的外部符号 _luaL_loadstring
 未解决的外部符号 _lua_tolstring

我目前正在使用 Lua 5.1.5,按照教程逐步设置部分,其中告诉我在项目设置中添加 lua 文件夹。有人能告诉我我做错了什么吗?

点赞
用户1442917
用户1442917

链接器错误表明你在要构建的可执行文件中缺少 Lua 函数。有可能你在遵循教程的过程中漏掉了这一步骤:将 Lua 源文件添加到项目的“源文件”中,文件列表位于 C:\dev\lua-5.1.5\etc\all.c,你需要选择除了 lua.c 之外的所有文件

通常情况下,你需要添加 Lua 库、lua DLL 或 Lua 文件,以便你代码中使用的函数可以得到正确的解决(静态或动态)。

2016-02-25 05:02:36