有人可以提供一个使用go-libusb
的示例(或者可能是在Golang中使用USB的任何其他lib)。
libusb
有一个错误:
Unresolved symbol: '_Cstruct_usb_device_descriptor'
谢谢。
答案 0 :(得分:3)
首先,您必须从http://www.libusb.org/wiki/libusb-win32安装libusb,然后将// #include<usb.h>
更改为:
/*
#cgo LDFLAGS: -lusb
#include <usb.h>
*/
descriptor _Cstruct_usb_device_descriptor
到descriptor C.struct_usb_device_descriptor
。
或者从https://github.com/OneOfOne/go-libusb拉出我的前叉,我已经发送了一个包含更改的拉取请求。
答案 1 :(得分:2)
go-libusb package popons是libusb-0.1基于C的USB驱动程序的包装器。 libusb-0.1已被“弃用且未维护”。 [来源:libusb API version overview]
对于使用Go和USB,我建议使用libusb 1.0(source on GitHub)Go驱动程序,例如:
以上两种Go驱动程序都需要安装libusb的C版本。要在Windows上安装,请查看libusb Windows driver installation instructions,建议使用Zadig。您还可以查看SO问题Installing libusb-1.0 on Windows 7,但唯一的答案似乎是显示如何安装libusb-0.1而不是libusb-1.0。
作为Windows用户,我知道这对您没有帮助,但对于OS X用户,可以使用Homebrew安装libusb:
$ brew install libusb