从C:调用Lua脚本错误

1 c lua binding compiler-errors

我是Lua的新手并且一般都在编写绑定.目前我只是想编译这里找到的第一个例子(功能更新为Lua 5.1).

#include <stdio.h>

#include "lua.h"
#include "lualib.h"
#include "lauxlib.h"

/* the Lua interpreter */
lua_State* L;

int main ( int argc, char *argv[] )
{
    /* initialize Lua */
    L = luaL_newstate();

    /* load various Lua libraries */
    luaL_openlibs(L);
        luaopen_table(L);
        luaopen_io(L);
        luaopen_string(L);
        luaopen_math(L);

    /* cleanup Lua */
    lua_close(L);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

当我使用gcc -o init init.c -Wall -I/usr/local/include -L/usr/local/lib -llua -lliblua进行编译时出现以下错误:

.../../i486-pc-linux-gnu/bin/ld:找不到-lliblua
collect2:ld返回1退出状态

文件liblua.a在/ usr/local/lib中,但由于某种原因,编译器找不到它?我究竟做错了什么?

Jud*_*den 7

该参数liblua.a包含该文件-llua.指定-lliblua尝试查找libliblua.a不存在的文件.因此,只需-lliblua从构建命令中删除即可.