gpt4 book ai didi

c - gcc - 对 `libusb_init' 的 undefined reference

转载 作者:行者123 更新时间:2023-12-03 12:26:31 43 4
gpt4 key购买 nike

我正在尝试编译一段使用 libusb 的代码:

#include <stdio.h>
#include <libusb-1.0/libusb.h>
#include <assert.h>

int main(void) {
libusb_context *context = NULL;
int rc = 0;

rc = libusb_init(&context);
assert(rc == 0);

libusb_exit(context);
return 0;
}

使用 gcc -lusb -lusb-1.0 sample.c -o sample 编译后出现以下错误:
/tmp/ccr65JBT.o: In function `main':
sample.c:(.text+0x2e): undefined reference to `libusb_init'
sample.c:(.text+0x62): undefined reference to `libusb_exit'
collect2: error: ld returned 1 exit status

确保 libusb 在我的系统上可用:
raven@enforcer:~/sample$ pkg-config --libs libusb-1.0
-lusb-1.0
raven@enforcer:~/sample$ pkg-config --libs libusb
-lusb

我正在使用 gcc 7.3.0-16ubuntu3 运行 Ubuntu 18.04,如何解决?

最佳答案

通过在 .c 之后附加标志使其工作:gcc sample.c -o sample -lusb -lusb-1.0
汽车工具:sample_LDADD而不是 sample_LDFLAGS
感谢费利克斯·帕尔门。

关于c - gcc - 对 `libusb_init' 的 undefined reference ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51134291/

43 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com