winpcap在VS2012 Qt5 X64下的配置

   最近在学网络编程,想在windows下用Qt做个网络抓包工具,就要用到WinPcap,而我的电脑的系统是Win7 64位,qt版本是Qt 5.3.1 for Windows 64-bit (VS 2013, OpenGL),因此要在Win7 64位系统下配置Qt和WinPcap。
       

    1、http://www.winpcap.org/install/default.htm下载最新的WinPcap安装包,并安装,运行基于winpcap的程序需要其支持。

    2、http://www.winpcap.org/devel.htm 下载开发包,把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;
}
 
 
源码链接:http://download.csdn.net/detail/qq_17242957/9469072

你可能感兴趣的:(winpcap在VS2012 Qt5 X64下的配置)