我试图使用ubuntu下的libnl 3(http://www.infradead.org/~tgr/libnl/)来使用netlink,以便从ipv6邻居缓存中获取一些信息。
我为这个库包含了一堆头文件,但是gcc已经为第一个库失败了:

#include <libnl3/netlink/netlink.h>

没有像libnl.h这样的“main header”。
>$ 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.

我在Ubuntu12.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

我是不是错过了什么,还是真的摔坏了?

最佳答案

好的,所以包裹没有坏,我是;)
不久前,他们引入了一种机制,允许用户安装此库的不同版本。
现在,您可以使用“pkg config”对其进行配置,或者使用“-i/usr/include/libnl3/”将精确的目录传递给编译器。
而且有效。

关于linux - libnl-3是否包含损坏?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13686752/

10-10 17:17