C++ 是否有一个C++;跨平台USB库?

C++ 是否有一个C++;跨平台USB库?,c++,usb,cross-platform,C++,Usb,Cross Platform,我正在(将要)用Qt编写一个应用程序,它将在3个主要操作系统(Windows、Linux和Mac)上运行。这个应用程序的一个特点是它需要USB与一个定制的外部硬件进行通信。有跨平台USB库可用吗?试试 支持的操作系统:Linux, FreeBSD、NetBSD、OpenBSD、达尔文、, MacOS X(和Windows,通过 libusb-win32项目) 但您应该注意,它在Windows上使用libusb0.sys内核模式驱动程序,该驱动程序未经WHQL认证,在64位Windows 7和Wi

我正在(将要)用Qt编写一个应用程序,它将在3个主要操作系统(Windows、Linux和Mac)上运行。这个应用程序的一个特点是它需要USB与一个定制的外部硬件进行通信。有跨平台USB库可用吗?

试试

支持的操作系统:Linux, FreeBSD、NetBSD、OpenBSD、达尔文、, MacOS X(和Windows,通过 libusb-win32项目)


但您应该注意,它在Windows上使用
libusb0.sys
内核模式驱动程序,该驱动程序未经WHQL认证,在64位Windows 7和Windows Server 2008 R2中可能会出现问题。抱歉,libusb0.sys的1.2.0.0版

我只想为现在回来的人更新这篇文章

Libusb(版本0.1)已被弃用。现代标准是使用libusb-1.0或libusbx

我个人认为使用libusbx有很多原因。它是由沮丧的libusb-0.1开发人员编写的,他们想要更频繁的更新周期和更好的bug维护系统

我建议使用libusbx的原因如下:

  • 不需要sudo访问
  • 在阅读收到的信息时,开箱即用对我来说效果更好
  • 更好的支持和更频繁的错误/问题响应
  • 异步和同步支持发送/接收消息
诚然,libusb-1.0确实支持异步/同步报告。。。但是libusbx背后的理念更有吸引力,文档也更好


因此,这完全取决于你,如果你或任何人还想了解更多关于图书馆的信息,那么历史很容易在网上找到。您还可以查看stack question以了解有关直接主题的更多信息。

自定义硬件是通过USB进行隐藏,还是直接使用串行线?可能是串行链接。这是一款ATMega USB芯片,带有LUFA USB库,它支持这两种功能,但串行链接可能是最有可能的选择。啊,但是在Windows上,你可以找到一打半的第三方库,只需$$$;-)@仅pst$$?美好的那真是物超所值!我得马上买一些!等待谢谢你!只是我需要的信息。使用libusb-win32的问题是它是libusb-0.1的一个端口,与libusb-1.0不兼容。然而,libusb-1.0现在似乎在本机上支持Windows。近年来,libusb变得更好了:您现在可以在Windows上使用它与以WinUSB作为驱动程序的设备进行对话,因此,您不必运行任何来自第三方(如
libusb0.sys
)的内核模式代码。不幸的是,libusb对Windows上复合设备的支持基本上不存在。截至2014年2月,实际上只剩下了。linusbx主页有以下评论:libusbx是一个分支,一个提供对USB设备的通用访问的库。截至2014年1月26日,该项目已完全并入,并已停产。由于libusbx将不再发布,因此强烈建议您改用。libusbx不再维护。您应该改用libusb。我建议删除旧的libusbx链接,它现在承载一个不安全的工作站点,