ld:找不到架构x86_64(libusb)的符号

我正在尝试在Mac上编译以下libusb代码段:

#include  #include  #include  int main(void) { libusb_device **devices; ssize_t device_count = 0; device_count = libusb_get_device_list(NULL, &devices); printf("%d devices found\n", (int)device_count); return EXIT_SUCCESS; } 

我通过Homebrew安装了libusb。

我在编译期间遇到以下错误:

ld:找不到架构x86_64的符号

完整的编译器输出如下:

 22:28:24 **** Incremental Build of configuration Debug for project libusb **** make all Building file: ../src/libusb.c Invoking: Cross GCC Compiler gcc -I/usr/local/Cellar/libusb/1.0.9/include/libusb-1.0/ -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"src/libusb.d" -MT"src/libusb.d" -o "src/libusb.o" "../src/libusb.c" Finished building: ../src/libusb.c Building target: libusb Invoking: Cross GCC Linker gcc -o "libusb" ./src/libusb.o Undefined symbols for architecture x86_64: "_libusb_get_device_list", referenced from: _main in libusb.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make: *** [libusb] Error 1 22:28:24 Build Finished (took 119ms) 

我理解问题是链接器找不到libusb库,对吧? 如何告诉编译器Eclipse CDT中的位置?

在此处输入图像描述

正如我们在所有评论中所做的那样,有效的链接命令是

 gcc -L/usr/local/Cellar/libusb/1.0.9/lib -o "libusb_example" ./src/libusb_example.o -lusb1.0