链接器错误与Lua和vs2015

时间:2016-02-25 02:54:44

标签: c++ lua visual-studio-2015

我是使用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文件夹添加到项目设置中。

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

1 个答案:

答案 0 :(得分:2)

链接器错误表明您缺少要构建的可执行文件的Lua函数。您可能错过了以下教程中的这一步:add the Lua source files to your project's "Source Files". There is a list of the files in C:\dev\lua-5.1.5\etc\all.c; you want all of those files except for lua.c.

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