winpcap在VS2012 Qt5 X64下的配置

Posted 朝闻道

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

http://blog.csdn.net/qq_17242957/article/details/50953630

http://blog.csdn.net/qq_17242957/article/details/50979646

以上是关于winpcap在VS2012 Qt5 X64下的配置的主要内容,如果未能解决你的问题,请参考以下文章

怎样VS2013下安装Qt5的插件

QT5.6.0+VS2015编译MQSQL(ACCESS)X64数据库驱动

OsgEarth开发笔记:Qt5.15.2在QtCreator集成Osg3.6.3+OsgEarth3.1+OsgQt的vs2019x64版本开发环境搭建

OsgEarth开发笔记:Qt5.15.2在QtCreator集成Osg3.6.3+OsgEarth3.1+OsgQt的vs2019x64版本开发环境搭建

VS的 X64下的汇编编译

在 32 位 win7 上部署 Qt 应用程序 - 在 Win7 x64 上工作(和编译)