卢厄呼吁(S,0,0)韩元';t工作(试图调用字符串值)? < >我想继续向我的C++游戏引擎添加Lua脚本,但是我似乎不能这么做。

卢厄呼吁(S,0,0)韩元';t工作(试图调用字符串值)? < >我想继续向我的C++游戏引擎添加Lua脚本,但是我似乎不能这么做。,c++,lua,C++,Lua,我正在看一段视频,我检查了一点点代码,我看不出我做错了什么 #include <Lua Source\lua.hpp> lua_State* S = luaL_newstate(); luaL_openlibs(S); luaL_loadfile(S, "main.lua"); lua_call(S, 0, 0); 我得到的错误如下所示: 在控制台中: PANIC : unprotected error in call to Lua API (attempt to call

我正在看一段视频,我检查了一点点代码,我看不出我做错了什么

#include <Lua Source\lua.hpp>

lua_State* S = luaL_newstate();
luaL_openlibs(S);

luaL_loadfile(S, "main.lua");
lua_call(S, 0, 0);

我得到的错误如下所示:

在控制台中:

PANIC : unprotected error in call to Lua API (attempt to call a string value)
出现的错误框如下所示:

(从左到右的按钮:取消、重试、忽略)


编辑: 我的代码现在看起来像这样,添加了
put(lua_-tostring(S,-1))生成了一条错误消息:

cannot open main.lua: no such file or directory
代码

lua_State* S = luaL_newstate();
luaL_openlibs(S);
luaL_loadfile(S, "main.lua");
puts(lua_tostring(S, -1));
lua_call(S, 0, 0);
我的项目文件如下:


尝试调用字符串值
是由
lua\u调用
触发的,很可能意味着
luaL\u加载文件
返回非零并在堆栈上留下错误消息

检查
luaL\u loadfile
的返回代码


另外,添加
put(lua_-tostring(S,-1))luaL\u loadfile
后,尝试调用字符串值
是由
lua\u调用
触发的,很可能意味着
luaL\u loadfile
返回非零,并在堆栈上留下错误消息

检查
luaL\u loadfile
的返回代码


另外,添加
put(lua_-tostring(S,-1))
调用
luaL\u loadfile

后发现我只是误解了教程

我想他是说lua脚本从lua自己的源代码文件夹中用完了


但是,它超出了您的项目工作目录。

原来我只是误解了教程

我想他是说lua脚本从lua自己的源代码文件夹中用完了


但是,它超出了您的项目工作目录。

不确定您的意思,luaL_loadfile返回void?但在控制台中添加“put”会给我一个错误“log”:connot open main.lua没有这样的文件或目录。不确定您的意思,luaL_loadfile返回void?但在那个里添加了“puts”,使得它在控制台中给了我一个错误“log”:connotopenmain.lua并没有这样的文件或目录。
lua_State* S = luaL_newstate();
luaL_openlibs(S);
luaL_loadfile(S, "main.lua");
puts(lua_tostring(S, -1));
lua_call(S, 0, 0);