pcap_lookupdev undefined

时间:2013-01-26 00:29:28

标签: c++ pcap sniffing network-security

我正在为OSX 10.8开发。我刚刚通过MacPorts安装了libpcap并尝试运行一个简单的设备猎人(下面)

#include <stdio.h>
#include <pcap.h>

int main(int argc,char *argv[])
{
    char *dev, errbuf[PCAP_ERRBUF_SIZE];

    dev = pcap_lookupdev(errbuf);
    if(dev == NULL)
    {
        fprintf(stderr, "Couldn't find default device: %s\n", errbuf);
        return(2);
    }

    printf("Device %s\n", dev);
    return(0);
}

在尝试使用g ++进行编译时,我得到了:

    Undefined symbols for architecture x86_64:
  "_pcap_lookupdev", referenced from:
      _main in ccIMp1m2.o

任何有用的建议,所以我真的可以开始学习这些东西会很棒!我用谷歌搜索了10-15分钟,但在我的设置中找不到我的特定问题。

1 个答案:

答案 0 :(得分:8)

您需要关联libpcap。添加到编译器命令行中的-lpcap可能会起作用。如果它安装在某个地方很奇怪(可能是因为你从MacPorts获得它),你可能需要-L/path/to/libpcap -lpcap