1

我正在尝试在 Ubuntu 下使用 libnl 3 ( http://www.infradead.org/~tgr/libnl/ ) 来使用 netlink 以便从 IPv6 邻居缓存中获取一些信息。

我为这个库包含了一堆头文件,但第一个库的 gcc 已经失败:

#include <libnl3/netlink/netlink.h>

没有像 libnl.h 这样的“主标头”。

>$ gcc netlink_test.c 
In file included from netlink_test.c:11:0:
/usr/include/libnl3/netlink/netlink.h:24:36: fatal error: netlink/netlink-compat.h: No such file or directory
compilation terminated.

文件 netlink.h 包括“netlink/netlink-compat.h”。不幸的是,没有“/usr/include/netlink/”文件夹。只有“/usr/include/libnl3/netlink/”

包括“netlink/netlink.h”因此给了我:

netlink_test.c:10:29: fatal error: netlink/netlink.h: No such file or directory
compilation terminated.

我在 Ubuntu 12.04 下安装了以下软件包:

libnl-3-200
libnl-3-200-dbg
libnl-3-dev
libnl-3-doc
libnl-genl-3-200
libnl-genl-3-200-dev
libnl-route-3-200
libnl-route-3-200-dev

我在这里遗漏了什么还是真的坏了?

4

1 回答 1

7

好的,所以包装没有破损,我是;)

不久前,他们引入了一种机制,使用户能够安装这个库的不同版本。现在您可以使用“pkg-config”对其进行配置,或者使用“-I /usr/include/libnl3/”将精确的目录传递给编译器。它有效。

于 2012-12-06T10:15:57.490 回答