Lua 和 vs2015 的链接器错误

Linker error with Lua and vs2015

本文关键字:错误 链接 vs2015 Lua      更新时间:2023-10-16

我对使用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调试器正在给出

 unresolved external symbol _luaL_newstate
 unresolved external symbol _luaL_loadstring
 unresolved external symbol _lua_tolstring

我目前正在使用 Lua 5.1.5,并逐步按照教程设置教程部分进行操作,它告诉我将 lua 文件夹添加到项目设置中。

有人可以告诉我我做错了什么吗?

链接器错误表示要生成的可执行文件中缺少 Lua 函数。您可能错过了您一直在学习的教程中的此步骤:add the Lua source files to your project's "Source Files". There is a list of the files in C:devlua-5.1.5etcall.c; you want all of those files except for lua.c.

通常,您需要添加 Lua 库、lua DLL 或 Lua 文件(在这种情况下,仅指定它们的路径是不够的),以便正确解析您在代码中使用的函数的引用(静态或动态)。

相关文章: