linux 如何使用“-lusb”编译

zlwx9yxi  于 5个月前  发布在  Linux
关注(0)|答案(3)|浏览(72)

我如何编译下面的代码。他们说“用-lusb编译”,但我不知道如何做到这一点。

#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);
        }
}

字符串

3duebb1j

3duebb1j1#

我成功地编译并运行了你的程序。
首先,关于-lusb,你应该知道三件事。

  • -意味着它是编译器的一个选项,在我的例子中我使用gcc
  • 前缀为usbl意味着它是我们在编译这个程序时包含的一个外部库。
  • usb是库名称,与#include <usb.h>相关联(usb是usb. h,不包括其后缀)

我使用的命令:

gcc  usb.c -o usb -lusb

字符串
我正在使用gcc 4.7.3libusb 1.0.18
编辑:在源代码文件后正确指定-lusb *。

t98cgbkg

t98cgbkg2#

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

gcc -Wall -o usb usb.c -lusb

字符串

yruzcnhs

yruzcnhs3#

gcc -Wall -g -lusb prog.c -o prog

字符串

相关问题