GCC编译出现undefined reference to `pcap_lex’解决思路

GCC编译出现undefined reference to `pcap_lex’
代码如下
#include <stdio.h>
#include <stdlib.h>
#include <pcap.h> /* GIMME a libpcap plz! */
#include <errno.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>

int main(int argc, char **argv)
{
  char *dev; /* name of the device to use */ 
  char *net; /* dot notation of the network address */
  char *mask;/* dot notation of the network mask */
  int ret; /* return code */
  char errbuf[PCAP_ERRBUF_SIZE];
  bpf_u_int32 netp; /* ip */
  bpf_u_int32 maskp;/* subnet mask */
  struct in_addr addr;

  /* ask pcap to find a valid device for use to sniff on */
  dev = pcap_lookupdev(errbuf);

  /* error checking */
  if(dev == NULL)
  {
  printf("%sn",errbuf);
  exit(1);
  }

  /* print out device name */
  printf("DEV: %sn",dev);

  /* ask pcap for the network address and mask of the device */
  ret = pcap_lookupnet(dev,&netp,&maskp,errbuf);

  if(ret == -1)
  {
  printf("%sn",errbuf);
  exit(1);
  }

  /* get the network address in a human readable form */
  addr.s_addr = netp;
  net = inet_ntoa(addr);

  if(net == NULL)/* thanks Scott 😛 */
  {
  perror("inet_ntoa");
  exit(1);
  }

  printf("NET: %sn",net);

  /* do the same as above for the device’s mask */
  addr.s_addr = maskp;
  mask = inet_ntoa(addr);
  
  if(mask == NULL)
  {
  perror("inet_ntoa");
  exit(1);
  }
  
  printf("MASK: %sn",mask);

  return 0;
}


很有可能是ls说的


sudo apt-get install libpcap-dev

GCC编译出现undefined reference to `pcap_lex’解决思路

相关文章:

你感兴趣的文章:

标签云: