pcap_lookupdev 函数在 qt 中不起作用

pcap_lookupdev function not work in qt

我的代码如下:

#include <QtCore/QCoreApplication>
#include <pcap.h>
#include <stdio.h>


int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    char error_buffer[PCAP_ERRBUF_SIZE];
    char *s;
    s=pcap_lookupdev(error_buffer);
    if (s == NULL)
        printf("Could not determine default network device\n");
    else
        printf("%s\n", s);

    return a.exec();
}

但是它有一个错误:

(.text.startup+0x3c):-1: error: undefined reference to `pcap_lookupdev'

:-1: error: collect2: ld returned 1 exit status

按照以下说明找到了解决方案:

  1. 打开terminal
  2. sudo apt-get install libpcap-dev
  3. LIBS += -lpcap 添加到 Qt 中的 .pro 文件
  4. pcaplibrary的使用没有任何问题!