gpt4 book ai didi

c - libusb 解引用指向不完整类型的指针

转载 作者:行者123 更新时间:2023-11-30 17:50:24 27 4
gpt4 key购买 nike

我知道关于这个问题有很多问题,但具体来说我在 Ubuntu 上实现 libusb 库时遇到了问题。这是我的代码:

struct usb_bus *busses;
struct usb_bus *bus;
struct usb_device *digiSpark = NULL;
struct usb_device *device;


if(debug) printf("Detecting USB devices...\n");
// Initialize the USB library
usb_init();

// Enumerate the USB device tree
usb_find_busses();
usb_find_devices();

// Iterate through attached busses and devices
busses = usb_get_busses();
for (bus = busses; bus; bus = bus->next)
{
for (device = bus->devices; device; device = device->next)
{
// Check to see if each USB device matches the DigiSpark Vendor and Product IDs
if((device->descriptor.idVendor == 0x16c0) && (device->descriptor.idProduct == 0x05df))
{
if(debug) printf("Detected DigiSpark... \n");
digiSpark = device;
}
}
}

它几乎是从 libusb 示例中逐字获取的:

http://libusb.sourceforge.net/doc/examples-code.html

但它会产生大量“取消引用指向不完整类型的指针”错误。

具体来说,我在以下几行中收到了指向不完整类型错误的解引用指针:

busses = usb_get_busses();

for (bus = busses; bus; bus->next)

for (device = bus->devices; device; device->next)

并在以下行中两次:

if((device->descriptor.idVendor == 0x16c0) && (device->descriptor.idProduct == 0x05df))

正如我所说,这很奇怪,因为(大部分)不是我编造的,这是从 lib 网站上建立的示例中获取的。

任何建议都会很棒。谢谢!

最佳答案

事实证明我包含了错误的库......尽管我真的不确定为什么。我没有在编译时包含并引用该库,如下所示:

>> gcc main.c -lusb
>> gcc main.o -o main -lusb

这对我有用,也可能对你有用!祝你好运!

关于c - libusb 解引用指向不完整类型的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17302782/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com