【问题标题】:Calling a Lua script from C: errors从 C 调用 Lua 脚本:错误
【发布时间】:2010-06-21 20:57:02
【问题描述】:

我是 Lua 的新手,一般都在编写绑定。目前我只是在尝试编译找到here 的第一个示例(函数更新到 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;
}

当我使用 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 中,但由于某种原因编译器找不到它?我做错了什么?

【问题讨论】:

标签: c lua compiler-errors binding


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    5.1 中没有-lliblua

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-31
      • 2014-08-06
      • 2020-08-24
      • 1970-01-01
      • 1970-01-01
      • 2010-11-15
      • 2018-04-23
      • 2019-07-30
      相关资源
      最近更新 更多