WinPcap编程调试解决办法
在正式WinPcap编程之前,要配置运行环境。可以下载安装。
配置编程环境:
1、从上下载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: 无法解析的外部符号 ,该符号在函数 "void __cdecl packet_handler(unsigned char *,struct pcap_pkthdr const *,unsigned char const *)" () 中被引用
用下面的语句即可解决了:#pragma comment(lib, "ws2_32.lib")
阅读(10108) | 评论(0) | 转发(0) |