小编Mat*_*ght的帖子

在Linux上使用libusb编译c代码时出现问题

我正在尝试在项目中使用 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)

c linux libusb

1
推荐指数
1
解决办法
2708
查看次数

标签 统计

c ×1

libusb ×1

linux ×1