任何人都可以帮我如何编译下面的代码。他们说"用-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);
}
}
答案 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