我如何编译下面的代码。他们说“用-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);
}
}
字符串
3条答案
按热度按时间3duebb1j1#
我成功地编译并运行了你的程序。
首先,关于
-lusb
,你应该知道三件事。-
意味着它是编译器的一个选项,在我的例子中我使用gcc
。usb
的l
意味着它是我们在编译这个程序时包含的一个外部库。usb
是库名称,与#include <usb.h>
相关联(usb是usb. h,不包括其后缀)我使用的命令:
字符串
我正在使用
gcc 4.7.3
和libusb 1.0.18
编辑:在源代码文件后正确指定-lusb *。
t98cgbkg2#
您需要将
-lusb
添加到gcc命令中:字符串
yruzcnhs3#
字符串