我在 Windows 7 上使用 Dev C++ 和 WinPcap(开发人员包)。 Dev c++ 显然无法找到 pcap.h,即使我在项目选项中包含 /include/ 目录,但在编译时它会显示错误“pcap.h:没有这样的文件或目录”。 (以及许多其他错误)。 这是我的代码:
#include <stdlib.h>
#include <stdio.h>
#include <pcap.h>
int main(int argc, char **argv)
{
pcap_t *fp;
char errbuf[PCAP_ERRBUF_SIZE];
u_char packet[100];
return 0;
}
我一直保持简单。我最初在 Visual Studio (C++) 中工作,但分发使用 Visual C++ 编译的代码需要在目标系统上安装 Microsoft C 运行时库。我只是希望能够分发最终的可执行文件并使其在任何机器上运行。
我检查了提供给编译器的命令行。它确实有-I [路径]选项。那么我有什么遗漏的吗?
附带说明:我用 g++(来自 dev c++ 安装目录)编译了上面的代码,并且编译正确。但是当我尝试链接它时,生成的可执行文件在运行时崩溃了。
你的问题有点不清楚,但你的旁注听起来好像你可以编译它(即找到了
pcap.h
标头),而你的问题是链接。
要将目录添加到库的搜索路径,请使用
-LPATH
,其中 PATH
是包含 libpcap
的实际目录。要实际将其添加到链接中,请在链接器调用中使用 -lpcap
,例如
$ g++ -o main -LPATH main.o -lpcap