我(将要)在Qt中编写一个将在3个主要操作系统(Windows,Linux和Mac)上运行的应用程序。这个应用程序的一个功能是它需要USB与一个自定义外部硬件通信。是否有可用的跨平台USB库?
答案 0 :(得分:9)
尝试libusb。
支持的操作系统:Linux, FreeBSD,NetBSD,OpenBSD,Darwin, MacOS X(和Windows,通过 libusb-win32项目)。
但是你应该注意到它在Windows上使用libusb0.sys
内核模式驱动程序,这不是WHQL认证的,它可能是64位Windows 7和Windows Server 2008 R2中的一个问题。罢工>对不起,libusb0.sys
is digitally signed版本1.2.0.0。
答案 1 :(得分:4)
我想更新这篇帖子给那些现在回来的人......
Libusb(版本0.1)已被弃用。现代标准是使用libusb-1.0或libusbx。
就个人而言,我认为使用libusbx的原因有很多。它是由沮丧的libusb-0.1开发人员编写的,他们想要更频繁的更新周期和更好的bug维护系统。
建议libusbx的原因如下:
当然,libusb-1.0确实支持异步/同步报告......但libusbx背后的理念更具吸引力且文档更好。
所以这完全取决于你,如果你或者还想了解更多关于图书馆的人,那么历史很容易在网上找到。您还可以查看this堆栈问题,了解有关直接主题的更多信息。