2012-12-03 89 views
1

我想在Ubuntu下使用libnl 3(http://www.infradead.org/~tgr/libnl/)來使用netlink,以便從IPv6鄰居緩存中獲取一些信息。libnl-3包括破?

我包括這LIB一系列的頭,但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包括 「網絡鏈路/網絡鏈路-compat.h」。不幸的是,沒有「/ usr/include/netlink /」文件夾。只有 「/ usr/include目錄/ libnl3 /網絡鏈路/」

包括 「網絡鏈路/ 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 

我在這裏想念什麼,或者這是真的被打破?

回答

7

OK,所以包裝不破,我;)

前一陣子,他們推出了一種機制,使用戶能夠安裝不同版本的庫。 現在您可以使用「pkg-config」對其進行配置,或者僅將精確目錄傳遞給編譯器,並使用「-I/usr/include/libnl3 /」。 它的工作原理。