2011-11-02 2 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. 

를 얻을 내가 행한는 sudo 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. 

나는 또한 냠로 설치를 시도하고 여전히 설치되지 않았 음을 말한다을 얻을. 나는 패키지의 tar를 다운로드했고 그것을 실행했다. 또한 괜찮은 것으로 보였다. (명백한 에러 메시지가 없다.) 나는 다음에 무엇을 시도해야할지 정말로 모른다. dpkg 메시지는 설치되지 않았다는 것을 계속해서 알려줍니다. 누구든지 나에게 들어갈 방향을 줄 수 있니? 어떤 도움을 주셔서 감사합니다.

+0

입니다. –

+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 패키지는 적어도 우분투에는 libusb 1.0을 설치해야합니다.

원하는 라이브러리를 설치 한 후 C 파일의 헤더 파일 #include과 올바른 링커 옵션을 추가해야합니다. libusb를 1.0

의 문은

#include <libusb-1.0/libusb.h> 

것 포함 링커 옵션을 사용하면 (예를 들어, 우분투 11.10)을 사용하고있는 리눅스 배포판 당신은 언급해야

-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

관련 문제