gpt4 book ai didi

c++ - 在 C++ 中使用 Lua

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:45:59 26 4
gpt4 key购买 nike

我正在尝试在 C++ 中使用 Lua,但无法编译我的代码。我正在使用最新版本的 Lua,目前是 5.3。我的 IDE 是 Code::Blocks。到目前为止,我一直在遵循以下指南: https://eliasdaler.wordpress.com/2013/10/11/lua_cpp_binder/ http://gamedevgeek.com/tutorials/getting-started-with-lua/

但是他们并没有详细解释如何在 C::B 中设置 Lua。我已经从 Lua 的网站下载了二进制 zip 和源代码。我不确定将 src 文件夹中的文件放在哪里。至此我已经将lauxlib.h、lua.h、luaconf.h和lualib.h放入了include目录,并在main.cpp中使用了如下代码:

extern "C" {
#include "lua.h"
#include "lualib.h"
#include "lauxlib.h"
}

到目前为止,我只是尝试运行以下小片段:

lua_State* L;
L = luaL_newstate();
luaL_openlibs(L);
luaL_dofile(L, "test.lua");
lua_close(L);

但我总是在第一行出错。我现在遇到的错误是未定义对“luaL_newstate”的引用。

也许我应该将一些文件放在源代码的 lib 目录中?或者有什么我必须添加到“项目构建选项”菜单中的“其他链接器选项”吗?

编辑:

与此同时,我发现了这个问题: Lua 5.3 undefined references

看来我必须将 -llua 放在“Opther 链接器选项”中,但是 lua.org 的包中没有包含 .a、.so 或 .lib 文件。

最佳答案

我终于可以运行问题中提到的代码了。这是我所做的。

  1. 我没有从 Lua 的站点下载源代码,而是下载了最新LuaDist .该站点也可以通过 Lua.org 访问 download二进制文件类别下的页面。

  2. 在那个 zip 中,有通常的 include 和 lib 文件夹。

  3. 我已将两者复制到相应的文件夹,并设置了路径Build 选项菜单下的编译器和链接器。

  4. 然后,在链接器设置选项卡下,我添加了 liblua.dll.a文件,可以在 lib 目录中找到。对于最后两步,您可以在 SFML setup page 找到更多帮助。 .

  5. 对于最后一步,我将 liblua.dll 文件放在已编译的可执行文件。

关于c++ - 在 C++ 中使用 Lua,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38373717/

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