我正在尝试编译以下代码:
#include <stdio.h>
#include <pcap.h>
#define listen_device "eth0"
int main(int argc, char *argv[])
{
char *dev, errbuf[PCAP_ERRBUF_SIZE];
dev = pcap_lookupdev(errbuf); // err 'pcap_lookupdev undefined'
if (dev == NULL) {
fprintf(stderr, "Couldn't find default device: %s\n", errbuf);
return(2);
}
printf("Device: %s\n", dev);
return(0);
}
甚至知道我的pcap标题定义了pcap_lookupdev
:
...
char *pcap_lookupdev(char *);
...
我通过以下方式安装了libpcap:
sudo apt-get install libpcap0.8-dev
每当我尝试使用pcap头中声明的函数时,gcc都会给出错误function is undefined
。有谁知道我做错了什么?
答案 0 :(得分:2)
如何在Ubuntu下编译libpcap应用程序:
sudo apt-get install libpcap0.8-dev
设置eclipse链接器来处理libpcap:
Project -> properties -> build settings -> linker -> libraries -> add library
您只需输入pcap。
要从命令行编译,您所要做的就是:
gcc -o {output} file.c -lpcap