the*_*mer 8 c c++ compilation cross-compiling
我想创建一个ndpiReader.c附带的演示程序的.exe nDPI library.我成功地在Ubuntu上使用github页面上指定的命令编译它,如下所示:
./autogen.sh
./configure
make
Run Code Online (Sandbox Code Playgroud)
我试图在Ubuntu中使用GCC交叉编译它,但我没有成功.我也尝试使用pcapExample.sln它在Visual Studio 2012中编译它,但我不断收到如下错误消息:
错误29错误C1083:无法打开包含文件:'ndpi_api.h':没有这样的文件或目录
虽然ndpi_api.h我收到此错误的所有其他文件已列在项目解决方案资源管理器中.有没有人真的能够从这个ndpiReader.c文件中生成win32可执行文件?如果是,请指定步骤,要求或链接.
nDPIlib托管在这里: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
小智 4
我从你的其他问题中看到你已经尝试用CYGWIN编译它编译它并遇到了许多问题。
\n\nHere\xe2\x80\x99s是我刚刚用来编译nDPI的分步指南(包括ndpiReader.exe示例):
\n\n安装CYGWIN:
\n\n在CYGWIN下安装libpcap:
\n\n我确信您已经安装了 winpcap 作为您尝试过的其他所有内容的一部分,但请仔细检查必要的(packet.dll 和 wpcap.dll)库是否已在 cygwin\\c\\WINDOWS 中\\system32.
\n\n现在您已经拥有在 Windows 上编译 nDPI 所需的所有工具和库!
\n\n构建 nDPI
\n\n再次下载 nDPI 并将其解压到一个干净的目录中,这样您就不会被之前尝试的构建中的任何问题所困扰。
打开 CYGWIN 终端,然后 cd 进入 nDPI 目录。
运行autogen.sh
\n\n./autogen.sh\nRun Code Online (Sandbox Code Playgroud)\n\n这应该完成且没有任何错误。
\n\n如果它以“缺少某个包:请安装它并重试”而停止,则您错过了安装构建源代码所需的 CYGWIN 包。
\n\n如果它因“缺少 libpcap(-dev) 库”而停止,请仔细检查您之前在 cygwin\\lib 中复制 libpcap.a 所做的步骤。
autogen.sh 应该开始为您运行配置阶段。(如果没有,或者此阶段的部分失败,您可以在修复任何问题后重新运行配置。)
\n\n./configure\nRun Code Online (Sandbox Code Playgroud)\n\n检查完多项内容后,配置将通过创建 Makefile 结束。
通过运行 make 构建 nDPI 库。
\n\nmake\nRun Code Online (Sandbox Code Playgroud)\n\n它将构建库,然后尝试构建示例,但失败,因为它找不到pcap.h
cd 进入示例目录,并通过在命令中添加-I/usr/include/pcap 来手动编译 ndpiReader.c:
\n\ncd example/\ngcc -DHAVE_CONFIG_H -I. -I.. -I../src/include -I/usr/include/pcap -g -O2 -c -o ndpiReader.o ndpiReader.c\nRun Code Online (Sandbox Code Playgroud)\n\n我以我的命令为例。如果您的编译器命令略有不同,只需将 -I/usr/include/pcap 添加到您的 Makefile 调用的命令中即可。
离开示例目录,然后恢复 make。
\n\ncd ..\nmake\nRun Code Online (Sandbox Code Playgroud)\n\n最后一步将 ndpiReader 与 ndpi 库链接,并创建您正在寻找的可执行文件。
| 归档时间: |
|
| 查看次数: |
2093 次 |
| 最近记录: |