簡體   English   中英

為什么我的代碼不能用libpcap編譯?

[英]Why won't my code compile with libpcap?

我正在嘗試編譯以下代碼:

#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 有人知道我在做什么錯嗎?

如何在Ubuntu下編譯libpcap應用程序:

  1. 安裝libpcap: sudo apt-get install libpcap0.8-dev
  2. 設置eclipse鏈接器以處理libpcap:

    Project -> properties -> build settings -> linker -> libraries -> add library

您要做的就是輸入pcap。

要從命令行進行編譯,您需要做的是:

gcc -o {output} file.c -lpcap

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM