2

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

#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 分钟,但在我的设置中找不到太多关于我的特定问题的信息。

4

1 回答 1

8

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

于 2013-01-26T01:34:21.477 回答