我想创建ndpiReader.c
附带的nDPI library
演示程序的.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
lib: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
答案 0 :(得分:4)
我从你的其他问题中看到你已经尝试用CYGWIN编译它并遇到了许多问题。
以下是我刚用于编译nDPI的分步指南(包括ndpiReader.exe示例):
安装CYGWIN:
在CYGWIN下安装libpcap:
我确定您已经安装了winpcap作为您尝试的其他所有内容的一部分,但请仔细检查必要的(packet.dll和wpcap.dll)库是否已经在cygwin中\ C \窗口\ system32。
现在您已经拥有了在Windows上编译nDPI所需的所有工具和库!
构建nDPI
在干净的目录中再次下载并解压缩nDPI,这样您就不会因为您尝试的上一个版本中的任何问题而被绊倒。
打开CYGWIN终端,然后进入nDPI目录。
运行autogen.sh
./autogen.sh
这应该没有任何错误。
如果它停在" somepackage 缺失:请安装它并再试一次,"您是否错过了安装构建源所需的CYGWIN包。
如果它以"缺少libpcap(-dev)库而停止,"仔细检查以前在cygwin \ lib中复制libpcap.a的步骤。
autogen.sh应该开始为您运行配置阶段。 (如果它没有,或者此阶段的一部分失败,您可以在修复任何问题后重新运行配置。)
./configure
在检查了许多内容之后,configure将通过创建Makefile来结束。
通过运行make。
构建nDPI库make
它将构建库,然后尝试构建示例,但失败,因为它无法找到 pcap.h
进入示例目录,并通过在命令中添加 -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调用的内容中。
保留示例目录,然后恢复make。
cd ..
make
最后一步将ndpiReader与ndpi库链接,并创建您正在寻找的可执行文件。