Posted on 2010-03-08 11:46
天之驕子 閱讀(2276)
評論(0) 編輯 收藏 引用
到http://www.winpcap.org/install/default.htm上面下載安裝包,到http://www.winpcap.org/devel.htm.下載winpcap開發包,解壓到指定目錄。寬帶上網助手就是普通的安裝包,而開發要使用的則是Developer’s Pack。
下來之后,安裝到某個目錄,然后配置VC,把那個目錄的include和lib兩個目錄放到VC的選項->目錄里面。在project->settings->link->Object/library Modules下面添加“wpcap.lib Packet.lib”,用空格隔開;在project->settings->C/C++->Preprocessor difinitions下面添加“WPCAP,HAVE_REMOTE”,用逗號隔開。
WinPcap目錄下有doc文檔,里面的東西相當全面。
如果程序出現如下錯誤:
F:\學習\test.cpp(155) : error C2065: ’socklen_t’ : undeclared identifier
F:\學習\test.cpp(155) : error C2146: syntax error : missing ‘;’ before identifier ’sockaddrlen’
F:\學習\test.cpp(155) : error C2065: ’sockaddrlen’ : undeclared identifier
F:\學習\test.cpp(164) : error C2065: ‘getnameinfo’ : undeclared identifier
F:\學習\test.cpp(170) : error C2065: ‘NI_NUMERICHOST’ : undeclared identifier
錯誤根由是因為WinPcap支持ipv6,而VC的winsock2.h太老了,很多結構都沒有被支持,所以產生錯誤。網上有人說可以用VS新版本調試,我電腦里面是VS2008,但是仍然產生錯誤。
既然VS也無法通過,我實在沒能力去修改WinPcap的頭文件,所以就用最后一個方案,使用VC6.0的最新的PlatForm SDK開發包,里面包含了新的頭文件,就可以支持WinPcap了。
有人說PSDK只有Windows2003的版本,我在微軟里面找到了WinXPSP2的PSDK。
網址如下
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/XPSP2FULLInstall.htm
里面好幾個Cab,網頁里面有完整的安裝說明。
下面是PlatFormSDK安裝步驟
(1)安裝過程:
CMD運行PSDK-FULL.bat,參數為一個目錄,里面會被解壓縮安裝包,然后Setup,一路Next就可以了。
(2)配置過程
打開Visual C++6.0,在選項里面連接,把PSDK安裝后的include和lib加入相應的位置。
特別注意,要把這些目錄的順序調高,我直接放到了最高層去了。
呵呵,編譯一下,通過了,好Happy啊。