2011-11-02 72 views
0

我想建立一個使用libusb的程序,我得到了很多的錯誤,如libusb將不會安裝?

i2cbrdg.c:84: error: implicit declaration of function ‘usb_init’ 
i2cbrdg.c:88: error: implicit declaration of function ‘usb_find_busses’ 
i2cbrdg.c:89: error: implicit declaration of function ‘usb_find_devices’ 
i2cbrdg.c:90: error: implicit declaration of function ‘usb_get_busses’ 

所以我嘗試安裝libusb的,但我有麻煩這樣做。我已經安裝了libusb-dev,看起來沒問題。當我做dpkg -L libusb-dev時,我得到一個目錄列表。然而,當我的dpkg -L的libusb,我得到

Package `libusb' is not installed. 
Use dpkg --info (= dpkg-deb --info) to examine archive files, 
and dpkg --contents (= dpkg-deb --contents) to list their contents. 

我已經做了命令和apt-get安裝的libusb-1.0,然後去好了。當我嘗試做一遍我得到的消息

Reading package lists... Done 
Building dependency tree  
Reading state information... Done 
Note, selecting 'libusb-1.0-0' for regex 'libusb-1.0' 
Note, selecting 'libusb-1.0-0-dev' for regex 'libusb-1.0' 
libusb-1.0-0-dev is already the newest version. 
libusb-1.0-0 is already the newest version. 
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 

我也曾嘗試使用yum安裝它,它仍然說,它沒有安裝。我已經下載了包的tar並運行make,這似乎也沒關係(沒有明確的錯誤信息)。我真的不知道接下來要做什麼。 dpkg消息只是告訴我它沒有安裝。任何人都可以給我一個方向嗎?任何幫助表示讚賞。

+0

什麼Linux發行你使用(例如Ubuntu的11.10),你應該不在話下。 –

+0

對不起,我正在使用Debian 6.0.3。 – Sterling

回答

1

庫libusb 0.1和libusb 1.0是非常不同的。你應該決定現在使用哪一個。我推薦libusb 1.0。上次檢查時,libusb-devlibusb程序包安裝libusb 0.1,而libusb-1.0-0-dev程序包至少應在Ubuntu中安裝libusb 1.0。

安裝完所需的庫之後,您需要在C文件中包含頭文件#include,並且還需要添加正確的鏈接器選項。

對於libusb的1.0,包含語句將

#include <libusb-1.0/libusb.h> 

和鏈接器選項是

-lusb-1.0 
+0

我試圖apt-get安裝1.0的,他們已經安裝,我已經在那個頭。我沒有正確的鏈接器,但這並沒有解決問題。 – Sterling

+0

我的libusb.h位於/usr/local/include/libusb-1.0...是否應該將makefile中的include目錄更改爲/ usr/local/include? – Sterling

+0

另外,dpkg告訴我libusb-1.0沒有安裝... – Sterling