2016-07-06 70 views
0

我使用的是Ubuntu,實際上我正在嘗試安裝libnet v.1.0.2a以構建和寫入網絡數據包。我知道我正在安裝舊版本,但我寧願堅持下去,因爲它適合我。問題是,當我編寫代碼並嘗試編譯它時,libnet庫的所有功能都顯示「未定義引用」錯誤。我檢查了/ usr/include,包含聲明的頭文件都存在。在我的編譯命令我寫道:對libnet-1.0.2a函數的未定義引用Linux C

$sudo gcc $(libnet-config --defines) -o aa aa.c -lnet 

但它仍然與未定義的引用來。有人能幫助我嗎?

+0

請包括您的編譯器給您的確切錯誤消息,並且還包括'libnet-config --defines'的輸出。 –

+1

你可能也想'libnet-config --cflags'而不是'--defines'。 –

回答

0

其實我解決了這個問題。有什麼問題是我的編譯器連接到了1.1版本,而我的代碼是用1.0版本編寫的。那是因爲我錯誤地安裝了這兩個版本,它們並不共存。我所要做的就是刪除這兩個庫並專門安裝新版本。而且,我將所有代碼轉換爲更簡單的新版本。