Есть ли C ++ кроссплатформенная библиотека USB? - PullRequest
12 голосов
/ 12 октября 2010

Я собираюсь написать приложение на Qt, которое будет работать на 3 основных ОС (Windows, Linux и Mac).Одной из особенностей этого приложения является то, что ему нужно USB для связи с частью пользовательского внешнего оборудования.Доступна ли кроссплатформенная библиотека USB?

Ответы [ 2 ]

9 голосов
/ 12 октября 2010

Попробуйте 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 из libusb0.sys имеет цифровую подпись .

4 голосов
/ 26 июля 2013

Я просто хотел бы обновить этот пост для тех, кто возвращается к нему сегодня ...

Libusb (версия 0.1) с тех пор устарела.Современный стандарт заключается в использовании libusb-1.0 или libusbx.

Лично я думаю, что есть много причин для использования libusbx .Он был написан разочарованными разработчиками libusb-0.1, которые хотели более частый цикл обновления и лучшую систему поддержки ошибок.

Мои причины для предложения libusbx следующие:

  • не требует sudoaccess
  • работал лучше для меня из коробки с чтением входящих сообщений
  • улучшенная поддержка и более частые ответы на ошибки / проблемы
  • асинхронная и синхронная поддержка отправки / полученияmessages

Конечно, libusb-1.0 поддерживает асинхронную / синхронизированную отчетность ... но философия libusbx гораздо привлекательнее, а документация лучше.

Так что это полностью зависит отВы, если вы или кто-то еще хотел бы узнать больше о библиотеках, историю очень легко найти в Интернете.Вы также можете увидеть этот вопрос о стеке для получения дополнительной информации по ближайшей теме.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...