當前位置:
首頁 >
WinPcap编程调试解决办法
發布時間:2024/4/11
49
豆豆
生活随笔
收集整理的這篇文章主要介紹了
WinPcap编程调试解决办法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在正式WinPcap編程之前,要配置運行環境。可以下載安裝。 配置編程環境:
1、從WWW.WINPCAP.ORG上下載WINPCAP SDK -WpdPack,WinPcap SDk里面包含庫文件,頭文件,文檔文件和一些例子。解壓到一個指定的目錄。解壓縮后把Include目錄添加到IDE的包含文件中(VC6.0 Tools->Option->Directory; VS 2003/2005 工具->選項->項目和解決方案/項目->VC++目錄); lib目錄添加為新的庫文件目錄(VC6.0 Tools->Option->Directory; VS 2003/2005 工具->選項->項目和解決方案/項目->VC++目錄)如下圖所示。 2、如果一個源文件使用了WinPcap提供的庫函數,那么就需要在該文件開始的位置添加pcap.h包含文件(或者在引用的文件中),即#include “pcap.h”
不添加也許會出現下面的錯誤:
fatal error C1083: 無法打開包括文件:“pcap.h”: No such file or directory
這個錯誤表明找不到pcap.h文件,這個頭文件在驅動程序安裝完成后也是沒有的,它是開發包里面的一個頭文件,所以,如果要運行程序還需要到官方網站上去下載WinPcap SDK,并按步驟1添加到項目中。 3、 新的版本里WinPcap支持遠程數據包獲取,所以還應當添加一個頭文件remote-ext.h ,即#include "remote-ext.h"(記住這條語句要放在#include “pcap.h”之后,否則會出錯!)
否則會發生下面的錯誤
error C2065: “PCAP_SRC_IF_STRING”: 未聲明的標識符
error C3861: “pcap_findalldevs_ex”: 找不到標識符
error C2065: “PCAP_OPENFLAG_PROMISCUOUS”: 未聲明的標識符
error C3861: “pcap_open”: 找不到標識符
4、有時即便是按上面的方法都做了也解決不了,比如我這次就是還出現下面的問題: 錯誤?3?error LNK2019: 無法解析的外部符號 _pcap_loop,該符號在函數 _wmain 中被引用? ……
錯誤?8?error LNK2019: 無法解析的外部符號 _pcap_freealldevs,該符號在函數 _wmain 中被引用?
但是我用了下面的語句即可解決了:#pragma comment(lib, "wpcap.lib") 5、如果出現下面的問題: 錯誤?3?error LNK2019: 無法解析的外部符號 __imp__ntohs@4,該符號在函數 "void __cdecl packet_handler(unsigned char *,struct pcap_pkthdr const *,unsigned char const *)" (?packet_handler@@YAXPAEPBUpcap_pkthdr@@PBE@Z) 中被引用?
用下面的語句即可解決了:#pragma comment(lib, "ws2_32.lib") 超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生
1、從WWW.WINPCAP.ORG上下載WINPCAP SDK -WpdPack,WinPcap SDk里面包含庫文件,頭文件,文檔文件和一些例子。解壓到一個指定的目錄。解壓縮后把Include目錄添加到IDE的包含文件中(VC6.0 Tools->Option->Directory; VS 2003/2005 工具->選項->項目和解決方案/項目->VC++目錄); lib目錄添加為新的庫文件目錄(VC6.0 Tools->Option->Directory; VS 2003/2005 工具->選項->項目和解決方案/項目->VC++目錄)如下圖所示。 2、如果一個源文件使用了WinPcap提供的庫函數,那么就需要在該文件開始的位置添加pcap.h包含文件(或者在引用的文件中),即#include “pcap.h”
不添加也許會出現下面的錯誤:
fatal error C1083: 無法打開包括文件:“pcap.h”: No such file or directory
這個錯誤表明找不到pcap.h文件,這個頭文件在驅動程序安裝完成后也是沒有的,它是開發包里面的一個頭文件,所以,如果要運行程序還需要到官方網站上去下載WinPcap SDK,并按步驟1添加到項目中。 3、 新的版本里WinPcap支持遠程數據包獲取,所以還應當添加一個頭文件remote-ext.h ,即#include "remote-ext.h"(記住這條語句要放在#include “pcap.h”之后,否則會出錯!)
否則會發生下面的錯誤
error C2065: “PCAP_SRC_IF_STRING”: 未聲明的標識符
error C3861: “pcap_findalldevs_ex”: 找不到標識符
error C2065: “PCAP_OPENFLAG_PROMISCUOUS”: 未聲明的標識符
error C3861: “pcap_open”: 找不到標識符
4、有時即便是按上面的方法都做了也解決不了,比如我這次就是還出現下面的問題: 錯誤?3?error LNK2019: 無法解析的外部符號 _pcap_loop,該符號在函數 _wmain 中被引用? ……
錯誤?8?error LNK2019: 無法解析的外部符號 _pcap_freealldevs,該符號在函數 _wmain 中被引用?
但是我用了下面的語句即可解決了:#pragma comment(lib, "wpcap.lib") 5、如果出現下面的問題: 錯誤?3?error LNK2019: 無法解析的外部符號 __imp__ntohs@4,該符號在函數 "void __cdecl packet_handler(unsigned char *,struct pcap_pkthdr const *,unsigned char const *)" (?packet_handler@@YAXPAEPBUpcap_pkthdr@@PBE@Z) 中被引用?
用下面的語句即可解決了:#pragma comment(lib, "ws2_32.lib") 超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生
總結
以上是生活随笔為你收集整理的WinPcap编程调试解决办法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: TCP长连接,短连接
- 下一篇: MFC内嵌web页面