【发布时间】:2011-12-06 04:03:47
【问题描述】:
我正在尝试编译 libusb 包提供的示例 libusb.c(如果你 dl 源代码。)
至少可以说是行不通的。
#include <stdio.h>
#include <sys/types.h>
#include <libusb/libusb.h>
这导致它失败,没有libusb/libusb.h 它是usb.h,所以我改变了它。它以新的创新方式失败了。
我已经完全复制了文件,并将其命名为 example.c
我正在使用这些命令和变体:
gcc -o example example.c -lusb -L /usr/lib/libusb.a
gcc -o example example.c -lusb -L /usr/lib/libusb.so
我在编译时遇到的错误是:
example.c:25: error: expected ‘)’ before ‘*’ token
example.c: In function ‘main’:
example.c:46: error: ‘libusb_device’ undeclared (first use in this function)
example.c:46: error: (Each undeclared identifier is reported only once
example.c:46: error: for each function it appears in.)
example.c:46: error: ‘devs’ undeclared (first use in this function)
Line 25: static void print_devs(libusb_device **devs)
Line 46: libusb_device **devs;
起初我遵循了一个教程,但编译失败,方式或多或少相同,所以我决定尝试提供的示例,但失败了。
谁能帮帮我?解释我做错了什么,因为我迷失了这个。
【问题讨论】:
-
您复制了哪个文件并将其命名为 example.c?
-
libusb-1.0.8/libusb-1.0.8/examples/lsusb.c 我将尝试在 ubuntu 上从头开始编译它,因为我最初使用的是 apt-get install libusb-dev跨度>
-
请注意,在 Ubuntu 11.04 中我可以通过
apt-get source libusb-1.0-0获得的examples/lsusb.c现在显然是 examples/listdevs.c。
标签: c gcc compilation libusb