天天看點

vs2013 win7 winpcap編譯wpcap.dll

首先下載下傳源碼檔案WpcapSrc_4_1_3.zip,官網下載下傳官網下載下傳或者下載下傳我編譯和修改好的源碼檔案https://download.csdn.net/download/fengsuiyunqing/11460406

1、解壓檔案,使用VS2013分别打開winpcap\packetNtx\Dll\Project\Packet.sln和wpcap\PRJ\wpcap.sln兩個工程檔案,提示版本更新,一直确認即可。

2、首先編譯生成Packet.lib,選擇x64和Release no netmon,編譯過程可能會出錯,比如無法找到“airPcap.h"。

選擇屬性-》C+±》預編譯器,删除掉HAVE_AIRPCAP_API這個宏即可。

3、繼續編譯,提示無法打開npptools.lib,經查這是windows驅動工具中的依賴庫,如果安裝了這個開發工具,直接指定要安裝目錄下的lib檔案中就可以了,如果沒有安裝,直接将這個lib庫删除掉,經過編譯沒有發現問題。最終将生成Packet.lib庫。

3、繼續編譯wpcap.sln,可能會失敗,提示無法解析的外部符号_snprintf,這個原因暫時還沒找到,因為源碼中明明對它有定義的,最後隻能通過修改源碼進行避免了,

在pcap-int.h中添加下面兩行語句,給snprintf加個定義就可以了

#if !defined(HAVE_SNPRINTF)

#define snprintf pcap_snprintf

extern int snprintf (char *, size_t, const char *, …);

#else

// 以下兩行為添加的語句

#define snprintf _snprintf

#define vsnprintf _vsnprintf

#endif

繼續閱讀