g++ 编译时 错误:pcap/pcap.h:没有那个文件或目录。但我已正确安装了libpcap包了。并用小程序成功检测了

#include <iostream>
#include <pcap/pcap.h>
#include <arpa/inet.h>
在Linux下编写sniffer 其中包含的头文件有:
#include <netinet/ether.h>
#include <netinet/ip.h>
#include <netinet/tcp.h>
#include <netinet/udp.h>
#include <signal.h>
忽然之间···发现了问题的所在。。。
Sniffer.cpp:2:23: 错误:pcap/pcap.h:没有那个文件或目录
正如所说的。。没有pcap/pcap.h
改为#include <pcap.h>却能正常编译成功并运行了···
程序代码是看别人的。。。还不太明白为什么要写成
#include <pcap/pcap.h>
#include <arpa/inet.h>
#include <netinet/ether.h>
#include <netinet/ip.h>
#include <netinet/tcp.h>
#include <netinet/udp.h>
都打“/”是啥意思?

你这是标准路径只定义到了pcap的上一层路径上,需要你指定这个头文件在标准路径中找到pcap文件夹,然后在文件夹中有pcap.h这个头文件。

/这个符号用来标记层次的,前面的是上一级文件夹名称,后面是下一级的名称,可以是文件夹或者文件。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-07-04
那取决于你makefile怎么写,如果 -I 包含了pcap这层目录,#include <pcap.h> 就没有问题本回答被提问者采纳
相似回答