我正在为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分钟,但是在我的设置问题上找不到很多东西。

最佳答案

您需要链接libpcap。添加到编译器命令行中的-lpcap可能会起作用。如果安装在奇怪的地方(可能是这样,因为您是从MacPorts获得的),则可能需要-L/path/to/libpcap -lpcap

关于c++ - pcap_lookupdev未定义,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14532462/

10-13 08:22