代码之家  ›  专栏  ›  技术社区  ›  Bojangles Vincent Baillet

有C++跨平台USB库吗?

  •  12
  • Bojangles Vincent Baillet  · 技术社区  · 14 年前

    我(将要)用qt编写一个将在3个主要操作系统(Windows、Linux和Mac)上运行的应用程序。这个应用程序的一个特点是它需要USB连接到一个定制的外部硬件。是否提供跨平台USB库?

    2 回复  |  直到 10 年前
        1
  •  9
  •   Kirill V. Lyadvinsky    14 年前

    尝试 libusb .

    支持的操作系统:Linux, Freebsd,Netbsd,Openbsd,达尔文, MacOS X(和Windows,通过 libusb-win32项目)。

    但是你应该注意它使用 libusb0.sys Windows上的内核模式驱动程序未经WHQL认证,在64位Windows 7和Windows Server 2008 R2中可能存在问题。 抱歉,版本1.2.0.0 LISBB0.S系统 is digitally signed .

        2
  •  4
  •   Community George Stocker    7 年前

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

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

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

    我建议libusbx的理由如下:

    • 不需要sudo访问
    • 在阅读收到的消息时,我的工作非常出色。
    • 更好的支持和对错误/问题更频繁的响应
    • 异步和同步支持发送/接收消息

    当然,libusb-1.0支持异步/同步报告…但是libusbx背后的理念更具吸引力,文档也更好。

    所以这完全取决于你,如果你或者任何人仍然想了解更多关于图书馆的信息,那么历史很容易在网上找到。你也可以看到 this 叠加问题以获得有关直接主题的更多信息。