2011-03-30 72 views
1

我有一個簡單的測試應用程序,我試圖用C++與Lua(在Linux上)構建。構建線看起來是這樣的:鏈接錯誤與Lua?

g++ -o"LuaTest" ./src/LuaTest.o -l/home/diego/lua-5.1.4/src/liblua.a 

它吐出了這個錯誤:

/usr/bin/ld: cannot find -l/home/diego/lua-5.1.4/src/liblua.a 

這將是一切都很好,只是我盯着liblua.a劈臉在夾。我在Windows下使用MinGW和Lua的Windows二進制文件嘗試了類似的配置,並且令人震驚地得到了完全相同的結果,只有它抱怨lua51.lib或lua5.1.lib或我嘗試的文件。

我在這裏錯過了什麼?

如果它的事項,這裏的應用程序:

extern "C" 
{ 
#include "lua.h" 
#include "lualib.h" 
#include "lauxlib.h" 
} 

int main() 
{ 
    return 0; //this really should compile -_- 
} 

回答

6

離開了-l。它應該只是:

g++ -o"LuaTest" ./src/LuaTest.o /home/diego/lua-5.1.4/src/liblua.a 

-l開關告訴G ++來自動添加lib.a部分文件名,並尋找它在標準庫目錄 - 你不需要在這裏。

+0

這似乎已經做到了。我應該提到我正在使用eclipse,並且事實上我已將這個文件/文件夾添加到相應的庫路徑中。我想我不能依靠那個。謝謝你的提示! – iegod 2011-03-30 22:16:09