Libusb and how to use its packages in Ubuntu

…衆ロ難τιáo~ 提交于 2019-12-10 15:04:34

问题


I have installed libusb by using the following command. I am not sure if it was right or not and the command was

sudo apt-get install libusb-dev

Once I have installed (and I am not sure if it has installed or not because I am a novice user of Ubuntu), I want to know how would I use the library, because I write some sample code which uses <libusb.h>, but when I compile that C++ file using

g++ test_libusb.cpp

that throws the following error,

test_libusb.cpp:2:20: fatal error: libusb.h: No such file or directory compilation terminated.

I am clueless what to do. I can't find any source on the Internet to get to the bottom of this...

I want to know two things here:

  1. How do I add the libusb library in C/C++ so I can use <libusb.h>?
  2. What would some sample code be? Only a few lines to see if libusb is working...

回答1:


Have a look at http://packages.debian.org/wheezy/i386/libusb-dev/filelist: The file you want to include is usb.h. Also, you'll have to tell the compiler where it can find the compiled library functions: Add -lusb to the compiler command line to make it load libusb.so.




回答2:


Try including it like so:

#include <libusb-1.0/libusb.h>

and then compile it like so:

g++ main.cpp -o main -lusb-1.0



回答3:


Actually at least in Debian 7.4 (wheezy), and probably in Ubuntu also, there are two distinct libusb packages: libusb-dev (0.1.12-20+nmu1) and libusb-1.0-0-dev (1.0.11-1). Confusingly, they can both be installed concurrently and provide header files in different locations:

$ 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



回答4:


Try #include <usb.h>. The "lib" is part of the Linux naming convention, i.e. library "foo" has header foo.h and is called libfoo-dev in the Debian package structure, and linked as -lfoo, and the compiled library files are called libfoo.a and libfoo.so.



来源:https://stackoverflow.com/questions/15041310/libusb-and-how-to-use-its-packages-in-ubuntu

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!