我是使用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文件夹添加到项目设置中。
有人可以告诉我我做错了吗?
答案 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文件(在这种情况下,它不足以指定它们的路径),以便您在其中使用的函数的引用代码已正确解析(静态或动态)。