gpt4 book ai didi

c++ - Lua 和 vs2015 的链接器错误

转载 作者:搜寻专家 更新时间:2023-10-31 02:17:34 24 4
gpt4 key购买 nike

我对使用 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 函数。您可能错过了您一直遵循的教程中的这一步:将 Lua 源文件添加到项目的“源文件”。 C:\dev\lua-5.1.5\etc\all.c 中有一个文件列表;你想要除 lua.c 之外的所有这些文件。

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

关于c++ - Lua 和 vs2015 的链接器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35617358/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com