最近在做了一个小试验,就是如何使用libusb在mac下面获取usb设备的信息,比如手机插入mac的usb口,我们如何拿到设备的vid,pid等设备信息,PS 使用cocoa api也可以拿到,但是如果使用Qt开发就显得比较难堪,所以决心使用跨平台的libusb实现。
首先稍微说下步骤:
1.在libusb官网下载libusb source code,官网自己可以google
2.解压源码
3.编译源码 先configure 再make 后make install
4.项目中使用libusb的库,关于动态库的加载 参考网上内容
5.在项目中引用libusb.h文件即可
下面看下Qt下面的代码片段:
#include "getusbinfo.h"
GetUsbInfo::GetUsbInfo(QObject *parent) :
QThread(parent),isStop(false)
{
}
GetUsbInfo::~GetUsbInfo()
{
qDebug()<<"GetUsbInfo::~GetUsbInfo "<<endl;
}
int GetUsbInfo::initUsbDevices()
{
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;