2013-03-23 91 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添加到行尾即可。

(需要它的所有功能的手冊頁將提及此。)