简体   繁体   English

未定义的参考usb_init()

[英]Undefined reference usb_init()

I am working on customized USB driver for keyboard using libusb. 我正在使用libusb为键盘定制USB驱动程序。 I wrote a simple program and tried to compile that program i received warning and output file is not generated. 我编写了一个简单程序,并尝试编译该程序,但收到警告,但未生成输出文件。

This is my program. 这是我的程序。

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

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

The error message is 错误消息是

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

I run this commands to set the library lining flag, commands are successfully executed. 我运行此命令来设置库衬标志,命令已成功执行。

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

i tried following commands to execute my prog 我尝试按照以下命令执行我的编

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

Please help me resolve this issue 请帮我解决这个问题

You are including the header file for libusb 1.0, but you are using usb_init , a function that is not part of it's API. 您将包含libusb 1.0的头文件,但您使用的是usb_init ,该函数属于其API的一部分。 Note that libusb 0.1 is really old and has a different API than libusb 1.0. 请注意,libusb 0.1确实很旧,并且具有与libusb 1.0不同的API。 You should refer to the documentation of libusb 1.0 to learn what functions are supported in libusb 1.0: 您应该参考libusb 1.0的文档以了解libusb 1.0支持哪些功能:

https://libusb.info/ https://libusb.info/

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM