您的位置:首页 > 运维架构 > Linux

linux下libusb使用

2016-06-13 23:02 453 查看

源码方式安装

0.libusb的介绍:参考[1]

1.环境:ubuntu14.04

2.获取源代码:http://sourceforge.net/projects/libusb/  (最好选择libusb-1.0.9版本,下载次数最多,自是有它的道理)

3.解压源码tar xjvf libusb-1.0.9.tar.bz2按照INSTALL文件给出的提示进行安装:主要分为./configure ->make -> make install

4.安装过程如下:

configure略去......(看不懂......)

/* make的动作主要是编译libusb的源代码 */

/* make install的动作主要是编译出libusb库并加入到系统文件夹下 */

Libraries have been installed in:

   /usr/local/lib /* 这里提示已经将库加入到/usr/local/lib目录,所以我们基于libusb编程的时候,需要包含这个库 */

apt方式安装

[b]sudo apt-get install libusb-dev
[/b]

sudo apt-get install libusb-1.0-0-dev

#include <stdio.h>

#include "libusb.h"

static void print_devs(libusb_device **devs)
{
libusb_device *dev;
int i = 0, j = 0;
uint8_t path[8];

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)",
desc.idVendor, desc.idProduct,
libusb_get_bus_number(dev), libusb_get_device_address(dev));

r = libusb_get_port_numbers(dev, path, sizeof(path));
if (r > 0) {
printf(" path: %d", path[0]);
for (j = 1; j < r; j++)
printf(".%d", path[j]);
}
printf("\n");
}
}

int main<span style="font-size:14px;">(void)</span>
{
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 -I/usr/include/libusb-1.0 listdevs.c -L/usr/lib -lusb-1.0


参考资料

       http://blog.csdn.net/zhengxianghdu/article/details/8925602
Enjoy it !
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: