Compiler construction 编译C+时包含外部库的问题+;程序 我在Windows 7和WinPcap(开发者的包)上使用DEV C++。DeV C++无法找到pCAP.H,显然,即使在项目选项中包含了/Copy/Directory,在编译时它也会显示一个错误,称“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; } #包括 #包括 #包括 int main(int argc,字符**argv) { pcap_t*fp; 字符errbuf[PCAP_errbuf_SIZE]; u_char包[100]; 返回0; }

Compiler construction 编译C+时包含外部库的问题+;程序 我在Windows 7和WinPcap(开发者的包)上使用DEV C++。DeV C++无法找到pCAP.H,显然,即使在项目选项中包含了/Copy/Directory,在编译时它也会显示一个错误,称“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; } #包括 #包括 #包括 int main(int argc,字符**argv) { pcap_t*fp; 字符errbuf[PCAP_errbuf_SIZE]; u_char包[100]; 返回0; },compiler-construction,g++,winpcap,Compiler Construction,G++,Winpcap,我一直很简单。我最初是在Visual Studio(C++)中工作,但是分配VisualC++的代码需要微软C运行库来安装在目标系统上。我只想能够分发最终的可执行文件,并让它在任何机器上工作 我检查了给编译器的命令行。它确实具有-I[path]选项。我还缺什么吗 作为一个旁注:我用G++(从DeV C++安装DIR)编译了上面的代码,并且编译正确。但是当我试图链接它时,生成的可执行文件在运行时崩溃了。您的问题有点不清楚,但您的旁注听起来好像您可以编译它(即找到了pcap.h头),您的问题在于链接

我一直很简单。我最初是在Visual Studio(C++)中工作,但是分配VisualC++的代码需要微软C运行库来安装在目标系统上。我只想能够分发最终的可执行文件,并让它在任何机器上工作

我检查了给编译器的命令行。它确实具有-I[path]选项。我还缺什么吗


作为一个旁注:我用G++(从DeV C++安装DIR)编译了上面的代码,并且编译正确。但是当我试图链接它时,生成的可执行文件在运行时崩溃了。

您的问题有点不清楚,但您的旁注听起来好像您可以编译它(即找到了
pcap.h
头),您的问题在于链接

要将目录添加到库的搜索路径,请使用
-LPATH
,其中
path
是包含
libpcap
的实际目录。要实际将其添加到链接中,请在链接器调用中使用
-lpcap
,例如

$ g++ -o main -LPATH main.o -lpcap

您是否也在项目选项中包含/lib或/bin文件夹?它们通常会列为“库文件夹”或与链接器有关的内容。除非您是从源代码处编译,否则您需要开发库(例如,对于VS,该库的源代码附带的.lib文件)。是的,我也包括了这一点。图书馆主任。包括dir。在项目选项中。但是仍然找不到头文件。您使用的是Visual Studio库文件还是MinGW/Cygwin库文件?MinGW。我希望尽可能远离Visual Studio。@Employed:我修复了它,我把那个大脑受损的错误归因于使用构建系统太长时间(我很高兴——使用部分)。