WinPcap编程调试解决办法

来源:互联网 发布:淘宝手机端图片大小 编辑:程序博客网 时间:2024/04/19 09:49
 
在正式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")
 
0 0
原创粉丝点击