找到pcap.h和链接的问题

Dr.*_*all 7 c linux fedora libpcap

我正在使用Fedora 17,我想用libpcap编程.问题是我的计算机没有找到pcap.h,因为我安装了libpcap和libpcap-devel,这真的很奇怪.还有wireshark和snort在我的工作站工作,我相信使用该库.所以当我用...编译我的代码时

#include <pcap.h>
... Code
Run Code Online (Sandbox Code Playgroud)

并使用gcc my_file.c -lpcap,我得到编译器错误,说...找不到pcap.h. 奇怪的是,我在/ libraries /目录中看到了我的libpcap.so文件.我弄完了 ..

yum install libpcap和yum install libpcap-devel

我不知道为什么Fedora会对我这样做.

谢谢你的帮助!

GoT*_*imw 14

您的库可能丢失,安装并链接它

yum install libpcap-devel
Run Code Online (Sandbox Code Playgroud)

在你的makefile中添加:

-L/usr/lib -lpcap
Run Code Online (Sandbox Code Playgroud)


yey*_*eyo 7

尝试

~$ whereis pcap
Run Code Online (Sandbox Code Playgroud)

然后正如玛塔所说

gcc -lpcap -I{path} file.c
Run Code Online (Sandbox Code Playgroud)

在哪里{path}whereis给你的路径,你将选择最后一个pcap.h子串(没有pcap.h部分).


mat*_*ata 3

您必须指定安装标头的文件夹,例如:

gcc -I/usr/include/pcap my_file.c -lpcap
Run Code Online (Sandbox Code Playgroud)

尝试locate pcap.h找到与-I交换机一起使用的正确目录。