C++ Lua-初始化

C++ Lua-初始化,c++,lua,C++,Lua,我无法在ArchLinux下正确初始化lua。Lua-最新版本。这是我的密码: #include <stdio.h> extern "C" { #include <lua.h> #include <lauxlib.h> #include <lualib.h> } int main() { lua_State *luaVM = luaL_newstate(); if (luaVM == NULL) {

我无法在ArchLinux下正确初始化lua。Lua-最新版本。这是我的密码:

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

int main()
{
    lua_State *luaVM = luaL_newstate();
    if (luaVM == NULL)
    {
        printf("Error initializing lua!\n");
        return -1;
    }

    luaL_openlibs(luaVM);
    lua_close(luaVM);

    return 0;
}
#包括
外部“C”
{
#包括
#包括
#包括
}
int main()
{
lua_State*luaVM=luaL_newstate();
if(luaVM==NULL)
{
printf(“初始化lua时出错!\n”);
返回-1;
}
luaL_openlibs(luaVM);
lua_关闭(luaVM);
返回0;
}
/tmp/cc0iJ6lW.o:在函数
main'中:
test_lua.cpp:(.text+0xa):对
luaL_newstate'的未定义引用

test_lua.cpp:(.text+0x34):对'luaL_openlibs'的未定义引用

test_lua.cpp:(.text+0x40):对'lua_close'集合2:ld的未定义引用

返回1退出状态


有什么问题吗?

您需要通过传递
-llua
-llualib
标志来链接Lua库。

您是否链接了
-llua
-llualib
?忘记:(谢谢。如果主题中没有答案,但问题已经解决了,该怎么办?我想如果KennyTM把它放在一个答案中或者放在一个(社区wiki?)中,你可以自己回答。Semi-OT:这不是“初始化”的问题,而是链接的问题。初始化是一旦你启动程序就会发生的事情(成功链接后)。Lua5.1中没有-llualib。