如何用-lusb编译

时间:2014-07-01 19:21:34

标签: c linux

任何人都可以帮我如何编译下面的代码。他们说"用-lusb"编译。我不知道该怎么做。原谅我的愚蠢:D

 #include <stdio.h>
#include <usb.h>
main(){
struct usb_bus *bus;
struct usb_device *dev;
usb_init();
usb_find_busses();
usb_find_devices();
for (bus = usb_busses; bus; bus = bus->next)
    for (dev = bus->devices; dev; dev = dev->next){
        printf("Trying device %s/%s\n", bus->dirname, dev->filename);
        printf("\tID_VENDOR = 0x%04x\n", dev->descriptor.idVendor);
        printf("\tID_PRODUCT = 0x%04x\n", dev->descriptor.idProduct);
    }
 }

2 个答案:

答案 0 :(得分:2)

我能够成功编译并运行您的程序。

首先,您应该了解有关-lusb的三件事。

  • -表示它是编译器的一个选项,在我的情况下,我使用gcc
  • 前缀为l的{​​{1}}表示它是我们在此程序汇编中包含的外部库。
  • usb是库名,与usb相关联(usb是usb.h,不包括后缀)

我使用的命令:

#include <usb.h>


我正在使用gcc usb.c -o usb -lusb gcc 4.7.3

编辑:在源代码文件后正确指定-lusb

答案 1 :(得分:1)

您需要将-lusb添加到您的gcc命令:

gcc -Wall -o usb usb.c -lusb