libusb не установится? - PullRequest
       1

libusb не установится?

0 голосов
/ 03 ноября 2011

Я пытаюсь создать программу, которая использует 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 install 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 просто говорит мне, что оно не установлено.Кто-нибудь может дать мне направление, чтобы войти?Любая помощь приветствуется.

1 Ответ

1 голос
/ 03 ноября 2011

Библиотеки libusb 0.1 и libusb 1.0 очень разные.Вы должны решить, какой из них вы хотите использовать.Я рекомендую libusb 1.0.В последний раз, когда я проверял, пакеты libusb-dev и libusb устанавливают libusb 0.1, а пакет libusb-1.0-0-dev должен устанавливать libusb 1.0, по крайней мере, в Ubuntu.

После установки желаемой библиотеки вы будетенеобходимо #include файл заголовка в вашем C-файле, а также добавить правильный параметр компоновщика.

Для libusb 1.0 оператор include будет

#include <libusb-1.0/libusb.h>

, а параметр компоновщика -

-lusb-1.0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...