Voy a estar escribiendo una aplicación en Qt que se ejecutará en los 3 sistemas operativos principales (Windows, Linux y Mac). Una de las características de esta aplicación es que necesita USB para comunicarse con un hardware externo personalizado. ¿Hay una biblioteca USB multiplataforma disponible?¿Hay una biblioteca de plataforma cruzada C++?
Respuesta
Probar libusb.
sistemas operativos soportados: Linux, FreeBSD, NetBSD, OpenBSD, Darwin, MacOS X (y Windows, a través del proyecto libusb-win32).
Pero debe tener en cuenta que utiliza
Lo sentimos, versión 1.2.0.0 de libusb0.sys
controlador en modo kernel en Windows, que no se WHQL y que podría ser un problema en el 64-bit de Windows 7 y Windows Server 2008 R2.
libusb0.sys
is digitally signed.
¡Gracias! Solo la información que necesitaba. – Bojangles
El problema con el uso de libusb-win32 es que es un puerto de libusb-0.1, que no es compatible con libusb-1.0. Sin embargo, ahora parece que libusb-1.0 es compatible con Windows de forma nativa. – trojanfoe
Libusb ha mejorado en los últimos años: ahora puede usarlo en Windows para hablar con dispositivos que tienen WinUSB como su controlador, por lo que no tiene que ejecutar ningún código de modo kernel de terceros como 'libusb0.sys'. –
Sólo me gustaría actualizar este post para cualquier persona que se va a volver a ella hoy en día ...
libusb (versión 0.1) ya está en desuso. El estándar moderno es usar libusb-1.0 o libusbx.
Personalmente, creo que hay muchas razones para usar libusbx. Fue escrito por frustrados desarrolladores de libusb-0.1 que querían un ciclo de actualización más frecuente y un mejor sistema de mantenimiento de errores.
Mis razones para sugerir libusbx son los siguientes:
- no requiere acceso sudo
- trabajaron mucho mejor para mí fuera de la caja con la lectura de los mensajes entrantes
- mejor apoyo y más frecuentes respuestas a bugs/problemas
- asincrónicos y soporte síncrono para el envío/recepción de mensajes
De acuerdo, libusb-1.0 admite informes asincrónicos/sincronizados ... pero la filosofía detrás de libusbx es mucho más atractiva y la documentación es mejor.
Así que depende totalmente de usted, si usted o quien quiera aún desea saber un poco más acerca de las bibliotecas, la historia es muy fácil de encontrar en línea. También puede ver this pregunta sobre la pila para obtener más información sobre el tema inmediato.
A partir de febrero de 2014, en realidad solo queda [libusb] (http://libusb.info).La página principal de linusbx tiene el siguiente comentario: libusbx era una bifurcación de [libusb] (http://libusb.info), una biblioteca que proporciona acceso genérico a dispositivos USB. A partir de 2014.01.26, este proyecto se ha fusionado completamente de nuevo en [libusb] (http://libusb.info) y se ha suspendido. Dado que no habrá nuevas versiones de libusbx, se recomienda encarecidamente que cambie a usar [libusb] (http://libusb.info). – user23573
- 1. Plataforma cruzada ligera C GUI (OpenGL)
- 2. desarrollo de plataforma cruzada
- 3. plataforma cruzada .Net?
- 4. Asterisk plataforma cruzada compilación
- 5. Bibliotecas dinámicas de plataforma cruzada C++; Linux y Windows
- 6. boost vs ACE C++ Comparación de rendimiento de plataforma cruzada?
- 7. API TCP/IP simple de plataforma cruzada?
- 8. Comenzando con un proyecto de C + + de plataforma cruzada
- 9. Función de suspensión de plataforma cruzada para C++
- 10. C++ - Cómo configurar permisos de archivos (plataforma cruzada)
- 11. ¿Cuál es la buena plataforma cruzada C++ IDE?
- 12. módulo usb de plataforma cruzada para python?
- 13. API de sonido de plataforma cruzada para juegos?
- 14. ¿Hay alguna biblioteca de JavaScript para notificación de escritorio cruzada?
- 15. ¿Hay una biblioteca LINQ para C++?
- 16. Biblioteca de plataforma cruzada C/C++ que permite la utilización de GPU para cálculos de coma flotante
- 17. Plataforma cruzada, Lenguaje de marcado GUI agnóstico de idioma?
- 18. ¿Forma de plataforma cruzada para producir un hilo en C/C++?
- 19. ¿Hay alguna biblioteca de procesador gzip multiplataforma para C o C++?
- 20. Cifrado RSA en Java: ¿Problemas con la plataforma cruzada?
- 21. ¿Qué es una forma de plataforma cruzada para reproducir un archivo de sonido en python?
- 22. ¿Hay algún cruce de código abierto de NAT de plataforma cruzada?
- 23. Operaciones de escritura de archivos atómicos (plataforma cruzada)
- 24. ¿Hay alguna biblioteca de física de plataforma abierta y acelerada por hardware con enlaces C++?
- 25. Plataforma cruzada Java? Android y computadora de escritorio
- 26. ¿Hay una biblioteca jQuery escrita en C#?
- 27. cosas que previenen la plataforma cruzada su aplicación web java
- 28. Cómo compilar en forma cruzada C++ - ¿biblioteca con dependencias?
- 29. Requerimientos de compilación cruzada para C
- 30. plataforma cruzada C++ para procesos: ¿es POCO lib bueno? otras alternativas?
¿El hardware personalizado habla HID a través de USB o utiliza la línea serie directamente? – nmichaels
Probablemente un enlace en serie. Es un chip USB ATMega, con la biblioteca LUFA USB, que tiene soporte para ambos, pero un enlace serial es probablemente la opción más probable. – Bojangles
Ahh, pero en Windows puede encontrar una docena y media de bibliotecas de terceros para $$$ ;-) –