参考链接:https://blog.csdn.net/jiguangfan/article/details/86492698
在官网libusb可以下载到,如下图:
目前最新的是 libusb-1.0.26.tar.bz2
tar xjvf llibusb-1.0.26.tar.bz2
注意,需提前安装gcc: apt install gcc
执行命令,你会发现执行报错,configure: error: udev support requested but libudev header not installed
解决办法:执行 ./configure 命令,注意该命令可以选择编译平台,编译的库版本也即运行平台,编译工具链,安装路径等,所以不是默认配置的用户需要在此项自行配置,常见配置选项有:
--build=i686-linux指明软件的编译平台
--host=arm-linux 指明软件的运行平台
--prefix 指明软件的安装目录
所以,如果在本机PC上使用,那么需要进行如下配置:./configure --build=x86_64-linux
如果在嵌入式arm处理器平台上应用,那么需要进行如下配置:
./configure --build=x86_64-linux --host=arm-linux --prefix=/usr/local/arm/libusb/
同时,还需要在 ./configure 命令后加上 --disable -udev
综上,命令是:
sudo ./configure --build=x86_64-linux --disable-udev --disable-dependency-tracking
输出结果如下:
上面红色标注 /usr/local/lib
/* 这里提示已经将库加入到/usr/local/lib目录,所以我们基于libusb编程的时候,需要包含这个库 */
编译时加上 --lusb-1.0 就是这个原因,库放在这个目录下,需要链接上。
至此,libusb安装成功
libusb源码目录下有example文件夹,里面有libusb提供的测试程序listdev.c源文件 (列出usb设备)
编译的时候我们可以用自带的makefile生成可执行文件,也可以用如下操作进行:
gcc -I/usr/local/include/libusb-1.0 listdevs.c -L/usr/local/lib -lusb-1.0
(-I包含头文件 ;-L链接库)
若运行时遇到如下问题,解决方法如下:
./a.out: error while loading shared libraries: libusb-1.0.so.0: cannot open shared object file: No such file or directory
/* 运行的时候若出现这个错误,只要先运行下面一句话即可 */
export LD_LIBRARY_PATH=/usr/local/lib
参考链接
Linux 中libusb安装与调试_linux qt如何安装usblib库-CSDN博客
linux下libusb的安装与测试_libusb-1.0.so.0-CSDN博客