还使用 -Wall 和 -std=c99 和 c11 进行了测试(当然不工作)
$ gcc -o usb -L/usr/local/lib -lusb-1.0 -I/usr/local/include usbtest.c
输出:
usbtest.c: In function ‘main’:
usbtest.c:14:1: error: label ‘brd_ftdi’ used but not defined
libusb_get_device_list(context, &&brd_ftdi);
usbtest.c:
#include <stdio.h>
#include <libusb-1.0/libusb.h>
int main() {
libusb_device* brd_ftdi;
libusb_device_handle** brd_ftdi_handle;
libusb_context* context;
//libusb_device *** list = &&brd_ftdi;
//libusb_init (libusb_context **);
libusb_init (&context);
libusb_get_device_list(context, &&brd_ftdi);
//libusb_open(brd_ftdi, brd_ftdi_handle);
//libusb_exit(struct libusb_context *);
libusb_exit(context);
return 0;
}
没有定义的?我知道,但libusb_get_device_list()
应该这样做(把清单放在那里),所以WTF?我还测试了声明一个指向指针的指针brd_ftdi
并将其传递给它,但结果相同。