Lua C API: 在liblua.a中发生未定义引用错误。

我试图编译一个包含Lua(5.2)库的C代码的简单示例。我使用以下命令:

gcc graph.c -o graph -I/usr/local/include -L/usr/local/lib -llua

但是我得到了以下错误:

/usr/local/lib/liblua.a(lobject.o): 在函数`luaO_arith'中:
lobject.c:(.text+0x15c): 对`floor'未定义的引用
lobject.c:(.text+0x111): 对`pow'未定义的引用
/usr/local/lib/liblua.a(lvm.o): 在函数`luaV_execute'中:
lvm.c:(.text+0x24e9): 对`floor'未定义的引用
lvm.c:(.text+0x25fe): 对`pow'未定义的引用
...

看起来数学库没有链接,但不确定如何修复它...有什么建议吗?我按照Readme上的说明用make linux和install linux安装了Lua(运行Ubuntu 12.04)。谢谢!

点赞
用户1627348
用户1627348

非常简单:你只需要将 -lm 添加到行末即可。 (所有需要它的函数的 man 页面都会提到它。)

2013-03-23 21:41:29