首先下载源码文件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