VS2010 + libnet開發中,無法解析的外部符號 問題出現的原因總結

  今天進行了libnet的環境搭建,沒想到一開始寫第一個程序就很不順利,其中遇到的一個問題就是:在試圖調用pcap函數pcap_findalldevs時出現的鏈接期錯誤:error LNK2019: 無法解析的外部符號 _pcap_findalldevs,該符號在函數 _wmain 中被引用。


   這個函數是屬於wpcap中的,因爲在代碼中引用了 pcap.h ,因此我打開了函數定義,發現在pcap.h中沒有定義,因此就懷疑到了相關的庫上。

經過查閱資料,發現pcap.h對應的是wpcap.lib文件,這個文件可以在wpcap的官方網站下載到sdk開發包。

解壓開發包之後就能在裏面的/lib路徑下找到相應的lib。

由於是鏈接期錯誤,因此在Visual Studio中選中項目-》屬性-》鏈接-》輸入-》附加依賴項 裏面添加上了 該wpcap.lib的路徑,問題解決。

同時,我還在 項目-》屬性-》VC++目錄中 對Include和Lib兩項添加了wpcap下的include和lib的路徑。

至此問題解決,能夠成功調用到_pcap_findalldevs函數了。



另外一個網上據說的辦法是:

在代碼開頭輸入

#pragma comment(lib,"wpcap.lib")
#pragma comment(lib,"ws2_32.lib")

我沒有進行實證,請各位網友驗證,謝謝!

發佈了28 篇原創文章 · 獲贊 100 · 訪問量 36萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章