在 Lua 中加载 C 库——未找到 -llua

我正在尝试将我编写的一个简单的 C 函数加载到 Lua 中,以便在我的 Lua 编码中使用它。我正在尝试使用以下命令进行编译:

gcc ./main.c -llua -ldl -lm -o lualibl

但是我收到了一个错误:

ld: library not found for -llua

clang: error: linker command failed with exit code 1 (use -v to see invocation)

如果我去掉 -llua,那么我的所有 luaL_checkinteger/luaL_setfuncs 函数都将成为未定义的符号,因此我假设我需要使用 lua 库进行编译。有任何想法吗?我正在运行 lua 5.2

点赞
用户6629477
用户6629477

你很可能缺失了lua共享库(liblua)。 例如,在我的发行版上,安装正确的包应该是 _liblua50-dev_5.0.3-7_amd64.deb_(或类似的)。

2016-08-06 09:39:13
用户88888888
用户88888888

你可能会发现你只需要一个有版本的库文件:

$ gcc ./main.c -llua5.2 -ldl -lm -o lualibl
2016-08-06 09:41:54