Я установил libusb с помощью следующей команды. Я не уверен, было ли это правильно или нет, и команда была
sudo apt-get install libusb-dev
После того, как я установил (и я не уверен, что он установлен или нет, потому что я начинающий пользователь Ubuntu), я хочу знать, как бы я использовал библиотеку, потому что я пишу некоторый пример кода, который использует <libusb.h>, но когда я компилирую этот файл C ++, используя
g++ test_libusb.cpp
это выдает следующую ошибку,
test_libusb.cpp: 2: 20: фатальная ошибка: libusb.h: компиляция такого файла или каталога не прекращена.
Я не знаю, что делать. Я не могу найти какой-либо источник в Интернете, чтобы разобраться в этом …
Я хочу знать две вещи здесь:
Посмотри на http://packages.debian.org/wheezy/i386/libusb-dev/filelist: Файл, который вы хотите включить usb.h
, Также вам нужно указать компилятору, где он может найти функции скомпилированной библиотеки: Добавить -lusb
в командной строке компилятора, чтобы он загрузился libusb.so
,
Попробуйте включить это так:
#include <libusb-1.0/libusb.h>
и затем скомпилируйте это так:
g++ main.cpp -o main -lusb-1.0
Пытаться #include <usb.h>
, «Lib» является частью соглашения об именах Linux, то есть библиотека «foo» имеет заголовок foo.h
и называется libfoo-dev
в структуре пакета Debian и связаны как -lfoo
и файлы скомпилированной библиотеки называются libfoo.a
а также libfoo.so
,
На самом деле, по крайней мере, в Debian 7.4 (wheezy) и, возможно, в Ubuntu также есть два разных пакета libusb: libusb-dev
(0,1.12-20 + нму1) и libusb-1.0-0-dev
(1.0.11-1). Заблуждение, они оба могут быть установлены одновременно и предоставлять файлы заголовков в разных местах:
$ dpkg -L libusb-dev|grep /usr/include
/usr/include
/usr/include/usb.h
$ dpkg -L libusb-1.0-0-dev|grep /usr/include
/usr/include
/usr/include/libusb-1.0
/usr/include/libusb-1.0/libusb.h