libnl-3包括破碎?

Ben*_*rer 1 linux ubuntu ipc netlink

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

我为这个lib包含了一堆标题,但gcc已经为第一个标题失败了:

#include <libnl3/netlink/netlink.h>
Run Code Online (Sandbox Code Playgroud)

没有"主标题",比如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.
Run Code Online (Sandbox Code Playgroud)

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.
Run Code Online (Sandbox Code Playgroud)

我在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
Run Code Online (Sandbox Code Playgroud)

我在这里遗失了什么,或者这真的被打破了?

Ben*_*rer 7

好的,所以包没有坏,我是;)

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