【发布时间】:2013-02-24 02:30:30
【问题描述】:
我在 Ubuntu 上运行 c/c++ 并尝试编译以下代码
#include <cassert>
#include <cstdio>
#include <libusb-1.0/libusb.h>
int main() {
libusb_context *context = NULL;
libusb_device **list = NULL;
int rc = 0;
ssize_t count = 0;
rc = libusb_init(&context);
assert(rc == 0);
count = libusb_get_device_list(context, &list);
assert(count > 0);
for (size_t idx = 0; idx < count; ++idx) {
libusb_device *device = list[idx];
libusb_device_descriptor desc = {0};
rc = libusb_get_device_descriptor(device, &desc);
assert(rc == 0);
printf("Vendor:Device = %04x:%04x\n", desc.idVendor, desc.idProduct);
}
}
编译代码后出现以下错误。不知道该怎么办?
/tmp/ccESLZ0k.o: In function `main':
libusbtest.cpp:(.text+0x2f): undefined reference to `libusb_init'
libusbtest.cpp:(.text+0x64): undefined reference to `libusb_get_device_list'
libusbtest.cpp:(.text+0xd4): undefined reference to `libusb_get_device_descriptor'
collect2: ld returned 1 exit status
我是 Ubuntu、c/c++ 和 libusb 的新手用户,因此我们将不胜感激
谢谢
【问题讨论】:
-
N.B:这是c++,没有叫“c/c++”的语言。
-
完全同意Johnsyweb。你也没有告诉我们你是如何编译你的代码的。
-
"c/c++" 表示 c 和 c++
标签: c++ c ubuntu installation libusb