C libusb半工作,但libusb\u设备\u描述符未声明?
我正在尝试一个带有libusb的C示例,目前一切正常,我正在尝试执行以下操作:C libusb半工作,但libusb\u设备\u描述符未声明?,c,libusb,C,Libusb,我正在尝试一个带有libusb的C示例,目前一切正常,我正在尝试执行以下操作: libusb_device_descriptor descriptor; int result = libusb_get_device_descriptor(usb_device, &descriptor); 编译器告诉我,与我正在使用的其他libusb结构相同的libusb.h头中定义的某些元素没有声明。什么 以下是完整的代码: #include <stdio.h> #include <
libusb_device_descriptor descriptor;
int result = libusb_get_device_descriptor(usb_device, &descriptor);
编译器告诉我,与我正在使用的其他libusb结构相同的libusb.h头中定义的某些元素没有声明。什么
以下是完整的代码:
#include <stdio.h>
#include <stdlib.h>
#include <libusb.h>
void printdev(libusb_device *usb_device);
/**
* main
*/
int main(void) {
puts("USB Test v0.0.1");
libusb_device **usb_devices;
libusb_context *usb_context = NULL;
int result;
result = libusb_init(&usb_context);
ssize_t device_count;
if (result < 0) {
puts("USB initialization error!");
return EXIT_FAILURE;
}
libusb_set_debug(usb_context, 1);
device_count = libusb_get_device_list(usb_context, &usb_devices);
if (device_count < 0) {
puts("Unable to get USB device list!");
return EXIT_FAILURE;
}
char message[24];
sprintf(message, "%d USB Devices found", (int)device_count);
puts(message);
ssize_t i;
for (i = 0; i < device_count; i++) {
}
libusb_free_device_list(usb_devices, 1);
libusb_exit(usb_context);
return EXIT_SUCCESS;
}
/**
*
*/
void printdev(libusb_device *usb_device)
{
libusb_device_descriptor descriptor;
int result = libusb_get_device_descriptor(usb_device, &descriptor);
if (result < 0) {
puts("Failed to get device descriptor");
return;
}
}
libusb.h中没有
libusb\u设备\u描述符类型
然而,有一个struct libusb\u device\u描述符
我也研究了libusb.h
,并且libusb\u config\u描述符
没有类型定义,因此您必须在libusb\u配置描述符
之前键入struct
很高兴能帮上忙。
23:18:07 **** Incremental Build of configuration debug for project usb_test ****
make all
Building file: ../src/usb_test.c
Invoking: GCC C Compiler
gcc -I/usr/local/Cellar/libusb/1.0.9/include/libusb-1.0 -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"src/usb_test.d" -MT"src/usb_test.d" -o "src/usb_test.o" "../src/usb_test.c"
../src/usb_test.c: In function 'printdev':
../src/usb_test.c:52: error: 'libusb_device_descriptor' undeclared (first use in this function)
../src/usb_test.c:52: error: (Each undeclared identifier is reported only once
../src/usb_test.c:52: error: for each function it appears in.)
../src/usb_test.c:52: error: expected ';' before 'descriptor'
../src/usb_test.c:53: error: 'descriptor' undeclared (first use in this function)
make: *** [src/usb_test.o] Error 1
23:18:07 Build Finished (took 73ms)