【问题标题】:Missing libpcap(-dev) library required to compile the example application缺少编译示例应用程序所需的 libpcap(-dev) 库
【发布时间】:2015-07-31 22:09:08
【问题描述】:

我正在尝试在 ubuntu 14.04 上交叉编译 nDPI 库附带的 ndpiReader.c 示例应用程序的源代码。该库托管在here,示例位于this 目录中。

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

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

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

错误:请安装并重试

我在编译这个 .c 代码时缺少什么?如果有人知道编译此代码的不同方法,请与我分享。我想要的只是为 ndpiReader.c 代码获取一个 windows .exe 文件。

【问题讨论】:

  • 您是否尝试在您的系统上找到交叉编译的 libpcap。可以手动找到吗?

标签: c cross-compiling libpcap mingw32


【解决方案1】:

如果您要进行交叉开发,则需要安装 cross-development 版本的库。您安装的是 native 开发版本的 libpcap-dev,它可以让您为您的 Linux 发行版构建 libpcap 程序,但不适用于 Windows 等其他操作系统。

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多