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;
}

コンパイル時:

$ 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これは、ライブラリの他の機能でも発生しています。私に問題を説明し、それを修正する方法を教えてください。前もって感謝します...

4

2 に答える 2

3

コンパイル時にpcapライブラリをリンクしていないため、使用しようとしている関数はどれも使用できません。

cc pcap1.c -lpcap

libpcap標準ライブラリパスのどこかにインストールしていない場合は、それも追加する必要があります

cc pcap1.c -lpcap -L/directory/libpcap/is/in
于 2011-04-18T04:37:05.363 に答える
0

このエラーが発生しましたが、解決しました。

私はDebian 7に取り組んでいるので、これが私がやったことです:

1 - このリンクで libpcap をインストールする方法を見つける libpcap を insaled

!!!!!! フレックスをインストールしました(sudo apt-get install bison)

libpcap のインストール

2 - このエラーを返した gcc test.c -lpcap 「collect2: ld が 1 終了ステータスを返しました」

3 - インストールされた libpcap-devel (sudo apt-get install libpcap-dev)

そしてそれは次回に通りました

これがあなたの助けになることを願っています。

幸運を

于 2014-02-13T10:40:12.187 に答える