最近在学网络编程,想在windows下用Qt做个网络抓包工具,就要用到WinPcap,而我的电脑的系统是Win7 64位,qt版本是Qt 5.3.1 for Windows 64-bit (VS 2013, OpenGL),,因此要在Win7 64位系统下配置Qt和WinPcap。
1、到下载最新的WinPcap安装包,并安装,运行基于winpcap的程序需要其支持。
2、到 下载开发包,把winpcap开发包中的Include目录下的所有内容拷贝到qt的msvc2013_64_opengl/include目录下。。
3、把winpcap开发包中的Lib目录中的x64目录下的Packet.lib和wpcap.lib拷贝到msvc2013_64_opengl/lib目录下。
完成上面的三步,即可。
下面是一个测试例子。
新建一个空的Qt项目并添加main.cpp。
#include <stdio.h> #include <stdlib.h> #define HAVE_REMOTE #include <pcap.h> int main() { pcap_if_t *alldevs; pcap_if_t *d; int i = 0; char errbuf[PCAP_ERRBUF_SIZE]; /* get local devices */ if(pcap_findalldevs_ex(PCAP_SRC_IF_STRING, NULL, &alldevs, errbuf) == -1) { fprintf(stderr, "Error in pcap_findalldevs_ex: %s\n", errbuf); exit(1); } /* print devices list */ for(d = alldevs; d != NULL; d = d->next) { printf("%d. %s", ++i, d->name); if (d->description) printf("(%s) -=---- \n", d->description); else printf("(No description available)\n"); } if(i == 0) { printf("\nNo interfaces found! Make sure Winpcap is installed.\n"); return -1; } pcap_freealldevs(alldevs); return 0; } 源码链接:winpcap在VS2012 Qt5 X64下的配置