#libpcap
#libpcap
Вопрос:
#include <stdio.h>
#include <pcap.h>
int main(int argc,char* argv[])
{
char* dev=argv[1];
char errbuf[PCAP_ERRBUF_SIZE];
dev=pcap_lookupdev(errbuf);
if(dev==NULL) {
fprintf(stderr,"Couldn't find default device: %sn",errbuf);
return 0;
}
printf("Device: %sn",dev);
return 0;
}
При компиляции:
$ cc pcap1.c
/tmp/ccZLrRlF.o: In function `main':
pcap1.c:(.text 0x37): undefined reference to `pcap_lookupdev'
collect2: ld returned 1 exit status
Это происходит и с другими функциями libpcap
библиотеки. Не могли бы вы, пожалуйста, объяснить мне проблему и способ ее исправления? Заранее спасибо…
Ответ №1:
Поскольку вы не связываете библиотеку pcap при компиляции, следовательно, ни одна из функций, которые вы пытаетесь использовать, недоступна.
cc pcap1.c -lpcap
Если вы не установили libpcap
где-нибудь в стандартной библиотеке path, вам также нужно будет добавить это
cc pcap1.c -lpcap -L/directory/libpcap/is/in
Ответ №2:
У меня была эта ошибка, и я только что решил ее.
Я работаю над Debian 7, поэтому вот что я сделал:
1 — после установки libpcap вы найдете, как по этой ссылке установить libpcap
!!!!!! установил flex (sudo apt-get install bison), потому что у меня возникли некоторые проблемы при
установка libpcap
2 — gcc test.c -lpcap, который вернул эту ошибку » collect2: ld вернул 1 статус выхода»
3 — установлен libpcap-devel (sudo apt-get install libpcap-dev)
и это прошло в следующий раз
Я надеюсь, что это поможет вам.
удачи