1. 程式人生 > >Qt中配置Winpcap

Qt中配置Winpcap

1. 下載WinPcap_4_1_3.exe 驅動。 官網:http://www.winpcap.org/install/default.htm

2. 下載開發包 WpdPack_4_1_2.zip 。官網:http://www.winpcap.org/devel.htm  (注意別下載錯了,要的 Developer's pack 不是Sourse Code)

安裝WinPcap_4_1_3.exe 軟體,並且解壓 WpdPack_4_1_2.zip到任意碟符,我自己放到了C盤。

使用Qt5新建一個控制檯工程

一直下一步,知道建立好。

在你的mian.cpp裡面輸入測試程式碼

#include <QCoreApplication>
#include <QDebug>
#include "pcap.h"

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    pcap_if_t *alldevs;
    pcap_if_t *d;
    int i = 0;
    char errbuf[PCAP_ERRBUF_SIZE];
    if(pcap_findalldevs(&alldevs, errbuf) == -1)
    {
        qDebug() << errbuf;
    }
    for(d = alldevs; d; d = d->next)
    {
        qDebug() << ++i << d->name;
        if(d->description)
            qDebug() << d->description;
        else
            qDebug("(No description available)");
    }
    if(0 == i)
    {
        qDebug("No interfaces found! Make sure WinPcap is installed.");
    }
    pcap_freealldevs(alldevs);
    return a.exec();
}

在Pro檔案新增Winacap的標頭檔案路徑和庫路徑
INCLUDEPATH += C:\WpdPack\Include
LIBS += -L C:/WpdPack/Lib/*.a
此處路徑和你解壓開發包路徑相關。

這時候執行會得到網絡卡裝置

由於先看的 Winpcap配置VS2008 方法,裡面要加一個 HAVE_REMOTE 。而我用Qt配置沒有加也可以順利得到裝置資訊。在Qt裡面不加的話,不知道有問題沒有。(其實關鍵是不知道給那加,加了這個有什麼作用委屈)