未定义的参考usb_init()

问题描述 投票:1回答:1

我正在使用libusb为键盘定制USB驱动程序。我写了一个简单的程序,并尝试编译该程序,我收到警告,并没有生成输出文件。

这是我的计划。

#include <stdio.h>
#include <libusb-1.0/libusb.h>

void main(){
  usb_init(NULL);
    return;
}

错误消息是

sample.c: In function ‘main’:
sample.c:7:3: warning: implicit declaration of function ‘usb_init’ [-Wimplicit-function-declaration]
   usb_init(NULL);
   ^
/tmp/ccYbyFAK.o: In function `main':
sample.c:(.text+0xf): undefined reference to `usb_init'
collect2: error: ld returned 1 exit status

我运行此命令来设置库衬里标志,命令成功执行。

pkg-config --list-all
pkg-config --libs libusb

我尝试按照命令执行我的编程

gcc -o output sample.c -lusb-1.0
gcc -o output sample.c -libusb-1.0

请帮我解决这个问题

c linux usb libusb-1.0
1个回答
0
投票

您正在包含libusb 1.0的头文件,但您使用的是usb_init,这是一个不属于它的API的函数。请注意,libusb 0.1非常老,并且具有与libusb 1.0不同的API。您应该参考libusb 1.0的文档来了解libusb 1.0支持哪些函数:

https://libusb.info/

© www.soinside.com 2019 - 2024. All rights reserved.