我正在尝试在项目中使用 libusb,但无法使库正常工作。这是我正在尝试编译的一些源代码。它没有做任何特别的事情。它只是一个获取 USB 驱动程序列表然后释放它的虚拟程序。
#include <stdio.h>
#include <usb.h>
#include <stdlib.h>
int main(int argc, char *argv[]){
struct libusb_device **devs;
struct libusb_context *context = NULL;
size_t list;
size_t i;
int ret;
ret = libusb_init(&context);
if(ret < 0)
{
perror("libusb_init");
exit(1);
}
list = libusb_get_device_list(context, &devs);
if(list < 0)
{
fprintf(stderr, "error in getting device list\n");
libusb_free_device_list(devs, 1);
libusb_exit(context);
exit(1);
}
libusb_free_device_list(devs, 1);
libusb_exit(context);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我编译用
gcc -o 测试 test.c -lusb
我收到错误
/tmp/cc2hwzii.o: in function 'main:
test.c:(.text+0x24): undefined reference to 'libusb_init' …Run Code Online (Sandbox Code Playgroud)