2011-04-12 58 views
0
#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: %s\n",errbuf); 
     return 0; 
    } 
    printf("Device: %s\n",dev); 

    return 0; 
} 

在編譯:libpcap函數有問題嗎?

$ 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庫的其他功能發生爲好。你能向我解釋這個問題嗎?一種方法來糾正它?在此先感謝...

回答

3

由於編譯時沒有鏈接pcap庫,因此您嘗試使用的功能都不可用。

cc pcap1.c -lpcap 

如果你還沒有在標準庫路徑安裝libpcap某處,你就需要添加以及

cc pcap1.c -lpcap -L/directory/libpcap/is/in 
0

我有這個錯誤,我剛纔已經解決了它。

我在Debian 7所以這裏的工作是我做了什麼:

1 - insaled你發現如何在這個環節install libpcap

libpcap的!!!!!!安裝柔性(命令和apt-get安裝野牛),因爲我遇到了一些問題,同時

安裝libpcap的

2 - GCC test.c的-lpcap返回此錯誤 「collect2:LD返回1個退出狀態」

3 - 安裝的libpcap-devel的(sudo易於得到安裝的libpcap-DEV)

,並通過下一次

我希望這將是幫助你去了。

祝你好運