我正在尝试在 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
我是不是遗漏了什么,还是真的坏了?
最佳答案
好的,所以包裹没有破损,我是 ;)
不久前,他们引入了一种机制,使用户能够安装该库的不同版本。 现在您可以使用“pkg-config”对其进行配置,或者使用“-I/usr/include/libnl3/”将精确的目录传递给编译器。 并且有效。
关于linux - libnl-3 包括损坏的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13686752/