缺少编译示例应用程序所需的libpcap(-dev)库

时间:2015-05-19 21:29:59

标签: c cross-compiling libpcap mingw32

我正在尝试交叉编译ndpiReader.c的示例应用程序的源代码,该应用程序随ubuntu 14.04上的windows的nDPI库一起提供。该库已托管here,示例位于this目录。

我使用此link在我的计算机上安装了libpcap。

我使用此tutorial中的命令./configure --host=x86_64-w64-mingw32来编译源代码。但我仍然得到错误

  

错误:缺少编译示例应用程序所需的libpcap(-dev)库

     

错误:请安装并重试

编译这个.c代码我错过了什么?如果有人知道编译此代码的不同方式,请与我分享。我想要的是获取ndpiReader.c代码的Windows .exe文件。

1 个答案:

答案 0 :(得分:1)

如果您正在进行交叉开发,则需要安装交叉开发版本的库。您安装的是libpcap-dev的 native 开发版本,它允许您为Linux发行版构建libpcap程序,但不能为其他操作系统(如Windows)构建。< / p>

Libpcap在这里有点特殊,特别是对于Windows。对于UN * Xes,libpcap运行在操作系统的本机数据包捕获机制之上;对于Windows,没有这样的本机机制,因此有一个名为WinPcap的libpcap到Windows的端口,其中包括libpcap 需要安装的驱动程序在Windows机器上。

因此,即使您成功构建了适用于Windows的程序版本,您也需要在要运行该程序的Windows计算机上安装WinPcap(如果尚未安装)。

然后,您需要安装一个交叉开发的WinPcap库,与MinGW一起使用,以便构建该程序。

看起来好像Fedora有一个mingw-wpcap软件包,可能允许在Fedora上使用MinGW交叉编译Windows的pcap程序。我不知道Ubuntu是否存在任何此类包。