【问题标题】:Embedding Lua in C++在 C++ 中嵌入 Lua
【发布时间】:2012-01-23 01:34:24
【问题描述】:

我一直在尝试将 lua 嵌入 c++ 应用程序,但无济于事,因为编译器抱怨“lua_open”。我使用的是 Lua 5.2。

我发现很多文章声称 lua_open() 在第五个版本中被替换了,但没有一个提到什么。

这是我要编译的代码

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

int main()
{
    int s=0;

    lua_State *L = lua_open();
    // load the libs
    luaL_openlibs(L);
    luaL_dofile(L,"example.lua");
    printf("\nDone!\n");
    lua_close(L);

    return 0;
}

【问题讨论】:

标签: c++ lua undefined embedding


【解决方案1】:

确实,lua 5.2 reference manual中没有提到lua_open函数

lua_State 是用lua_newstate 构造的,你可以从lauxlib.h 使用luaL_newstate

获得此类问题答案的更快方法是查看 Lua 5.2 源代码(我刚刚做过)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-18
    • 2012-04-27
    • 2010-09-29
    • 2010-10-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多