[英]How can I compile ndpiReader.c that comes with nDPI library in Windows?
我想创建一个带有nDPI library
的ndpiReader.c
演示程序的 .exe 。 我成功地使用在他们的 github 页面上指定的命令在 Ubuntu 上编译它,如下所示:
./autogen.sh
./configure
make
我试图在 Ubuntu 中使用 GCC 交叉编译它,但我没有成功。 我还尝试使用pcapExample.sln
在 Visual Studio 2012 中编译它,但我不断收到如下错误消息:
错误 29 错误 C1083:无法打开包含文件:'ndpi_api.h':没有这样的文件或目录
尽管ndpi_api.h
和我收到此错误的所有其他文件都已在项目解决方案资源管理器中列出。 有没有人真的能够从这个ndpiReader.c
文件中制作一个 win32 可执行文件? 如果是,请说明步骤、要求或链接。
nDPI
库托管在这里: https : //github.com/ntop/nDPI
ndpiReader.c
托管在这里: https : //github.com/ntop/nDPI/tree/dev/example
pcapExample.sln
托管在这里: https : //github.com/ntop/nDPI/tree/dev/example/Win32
我从你的其他问题中看到你已经尝试用CYGWIN编译它并遇到了一些问题。
这是我刚刚用来编译 nDPI 的分步指南(包括 ndpiReader.exe 示例):
安装 CYGWIN:
在 CYGWIN 下安装 libpcap:
我确定您已经安装了 winpcap 作为您尝试过的所有其他内容的一部分,但请仔细检查必要的(packet.dll 和 wpcap.dll)库是否已经在 cygwin\\c\\WINDOWS\\system32 中。
现在您已拥有在 Windows 上编译 nDPI 所需的所有工具和库!
建立 nDPI
在干净的目录中再次下载并解压 nDPI,这样您就不会被之前尝试构建的任何问题所困扰。
打开 CYGWIN 终端,然后 cd 进入 nDPI 目录。
运行 autogen.sh
./autogen.sh
这应该完成而没有任何错误。
如果它以“缺少某个软件包:请安装它并重试”而停止,那么您就没有安装构建源代码所需的 CYGWIN 软件包。
如果它因“缺少 libpcap(-dev) 库”而停止,请仔细检查您之前在 cygwin\\lib 中复制 libpcap.a 所做的步骤。
autogen.sh 应该开始为您运行配置阶段。 (如果没有,或者此阶段的一部分失败,您可以在修复任何问题后重新运行配置。)
./configure
在检查了一些事情之后,configure 将通过创建一个 Makefile 来结束。
通过运行 make 构建 nDPI 库。
make
它将构建库,然后尝试构建示例,但由于找不到pcap.h而失败
cd 进入示例目录,并通过在命令中添加-I/usr/include/pcap手动编译 ndpiReader.c:
cd example/ gcc -DHAVE_CONFIG_H -I. -I.. -I../src/include -I/usr/include/pcap -g -O2 -c -o ndpiReader.o ndpiReader.c
我以我的命令为例。 如果您的编译器命令略有不同,只需将 -I/usr/include/pcap 添加到您的 Makefile 调用的内容中。
离开示例目录,并继续制作。
cd .. make
最后一步将 ndpiReader 与 ndpi 库链接,并创建您正在寻找的可执行文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.