记录自己的开发经验以便日后查看
libusb下载与编译
1.在官网下载libusb-1.0.23
2.解压tar -xvf libusb-1.0.23.tar.bz2
3../configure
4.make
5.sudo make install
在加载配置和编译的时候难免会遇到报错,执行下面代码下载
sudo apt-get install libusb-dev
sudo apt-get install libusb-1.0-0-dev
sudo apt-get install libudev-dev
生成的头文件在/usr/local/include/libusb-1.0
生成的库在/usr/local/lib
写一个demo程序来测试
#include <stdio.h>
#include <sys/types.h>
#include <libusb.h>
static void print_devs(libusb_device **devs)
{
libusb_device *dev;
int i = 0;
while ((dev = devs[i++]) != NULL) {
struct libusb_device_descriptor desc;
int r = libusb_get_device_descriptor(dev, &desc);
if (r < 0) {
fprintf(stderr, "failed to get device descriptor");
return;
}
printf("%04x:%04x (bus %d, device %d)\n",
desc.idVendor, desc.idProduct,
libusb_get_bus_number(dev), libusb_get_device_address(dev));
}
}
int main(void)
{
libusb_device **devs;
int r;
ssize_t cnt;
r = libusb_init(NULL);
if (r < 0)
return r;
cnt = libusb_get_device_list(NULL, &devs);
if (cnt < 0)
return (int) cnt;
print_devs(devs);
libusb_free_device_list(devs, 1);
libusb_exit(NULL);
return 0;
}
在编译时候加入动态库与头文件gcc example.c -I /usr/local/include/libusb-1.0 -L /usr/local//lib -lusb-1.0