Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Lua和vs2015的链接器错误 我非常喜欢使用VisualStudio和C++。p> 我试图建立一个游戏来测试我使用新语言的OOP理解,然后我意识到我可能需要在我的C++游戏中使用脚本语言。我发现LUA是游戏脚本部分的一个很好的候选人,所以我决定遵循我在以下网站上找到的教程: _C++_Lua_Visual Studio 2015 - Fatal编程技术网

Lua和vs2015的链接器错误 我非常喜欢使用VisualStudio和C++。p> 我试图建立一个游戏来测试我使用新语言的OOP理解,然后我意识到我可能需要在我的C++游戏中使用脚本语言。我发现LUA是游戏脚本部分的一个很好的候选人,所以我决定遵循我在以下网站上找到的教程:

Lua和vs2015的链接器错误 我非常喜欢使用VisualStudio和C++。p> 我试图建立一个游戏来测试我使用新语言的OOP理解,然后我意识到我可能需要在我的C++游戏中使用脚本语言。我发现LUA是游戏脚本部分的一个很好的候选人,所以我决定遵循我在以下网站上找到的教程: ,c++,lua,visual-studio-2015,C++,Lua,Visual Studio 2015,我目前正在使用Lua5.1.5,并循序渐进地遵循教程设置教程部分,其中告诉我将Lua文件夹添加到项目设置中 有人能告诉我我做错了什么吗?链接器错误表明您缺少要生成的可执行文件中的Lua函数。您可能错过了以下教程中的这一步:将Lua源文件添加到项目的“源文件”中。C:\dev\lua-5.1.5\etc\all.C中有一个文件列表;您需要除lua.c.之外的所有这些文件。 通常,您需要添加Lua库、Lua DLL或Lua文件(在这种情况下,仅指定它们的路径是不够的),以便正确解析代码中使用的函数的

我目前正在使用Lua5.1.5,并循序渐进地遵循教程设置教程部分,其中告诉我将Lua文件夹添加到项目设置中


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

链接器错误表明您缺少要生成的可执行文件中的Lua函数。您可能错过了以下教程中的这一步:
将Lua源文件添加到项目的“源文件”中。C:\dev\lua-5.1.5\etc\all.C中有一个文件列表;您需要除lua.c.之外的所有这些文件。


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

是否添加了库(在“项目设置”下),还是源代码?@immibis你能说得更具体一点吗?我对这一点非常陌生,链接器编译器设置对我来说非常令人畏惧。我已经在c/c++常规部分添加了一些文件夹,如教程中指定的。然而,链接器设置中没有任何东西Slua有一些代码;链接器如何知道在哪里可以找到代码?@immibis您是否建议我也将lua文件夹添加到链接器设置中?我已经尝试了我认为正确的事情。现在,我在c/c++general/additional include目录下的设置包括path_to_lua\src、path_to_lua\etc。在linker/general/additional library目录下,我有相同的设置。还是同样的问题,尽管我不认为这是我应该做的。@immibs我下载的Lua包只包含etc、src、doc、test文件夹。我想这里只有etc和src是有问题的。这也行。不过,我还是读了一些教程,介绍了如何使用VisualStudio命令提示符创建libs和dll,并构建了这些文件。我不敢相信这个简单的解决方案(复制文件)存在,但这是我第一次使用VS.Anywas,我现在不需要将Lua复制到项目中,但我选择了您的答案,因为它同样是一个好的解决方案。谢谢你的回复
#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;
}
 unresolved external symbol _luaL_newstate
 unresolved external symbol _luaL_loadstring
 unresolved external symbol _lua_tolstring