2013-03-23 94 views
0

我正试图编译一个包含Lua(5.2)库的C代码的简单示例。我使用下面的命令:Lua C API:未定义的liblua.a中的引用错误

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

并获得以下错误:

/usr/local/lib/liblua.a(lobject.o): In function `luaO_arith': 
    lobject.c:(.text+0x15c): undefined reference to `floor' 
    lobject.c:(.text+0x111): undefined reference to `pow' 
    /usr/local/lib/liblua.a(lvm.o): In function `luaV_execute': 
    lvm.c:(.text+0x24e9): undefined reference to `floor' 
    lvm.c:(.text+0x25fe): undefined reference to `pow' 
    ... 

看起来像数学库不挂,但不知道如何解决它.. 。 有什么建议么?我使用make linux安装了自述文件,并安装了Linux(具有Ubuntu 12.04),安装了Lua。谢谢!

+0

是的,你是对的。我添加了-lm和-ldl并编译。对不起,重复...认为它是特定于Lua库的东西。谢谢。 – 2013-03-23 21:42:07

+0

@OlaM发布前值得阅读错误消息。如果你仔细阅读过,你很快就会发现这与Lua无关。 – 2013-03-23 21:44:03

回答

1

非常简单:您只需要将-lm添加到行尾即可。

(需要它的所有功能的手册页将提及此。)