我在mac计算机上使用eclipse ide for c project
我安装了usblib
sudo brew install libusb
和我的程序
#include <stdio.h>
#include <stdlib.h>
#include <libusb-1.0/libusb.h>
int main(void) {
libusb_context **libcontext;
int status = libusb_init(libcontext);
if (status == 0) {
printf("success");
}
}
当我构建错误
10:17:53 ****构建配置调试项目testusb **** make all building file:../ src / testusb.c Invoking:Cross GCC Compiler gcc -O0 -g3 -Wall -c -fmessage-length = 0 -stdlib = libstdc ++ -MMD -MP -MF“src / testusb.d”-MT“src / testusb.o”-o“src / testusb.o”“../src / testusb.c”../ src / testusb.c:16:6:警告:未使用的变量 'status'[-Wunused-variable] int status = libusb_init(libcontext); ^ ../src/testusb.c:16:27:警告:变量'libcontext'在此处使用时未初始化[-Wuninitialized] int status = libusb_init(libcontext); ^ ~~~~~~~~~ ../src/testusb.c:15:29:注意:初始化变量'libcontext'以使此警告静音 libusb_context libcontext; ^ = NULL生成2个警告。完工建筑:../ src / testusb.c建筑目标:testusb 调用:交叉GCC链接器gcc -L / opt / local / lib -o“testusb” ./src/testusb.o架构x86_64的未定义符号:
“_libusb_init”,引自: _us in testusb.o ld:找不到架构x86_64 clang的符号:错误:链接器命令失败,退出代码为1(使用-v to 看到调用)make:* [testusb]错误1
如何解决这个问题?
答案 0 :(得分:0)
感谢@Fang建议Libusb undefined reference to 我解决了这个问题。 第一种类型
pkg-config --list-all
查询所有已安装的库,检查libusb是否已安装, 然后输入
pkg-config --libs libusb
链接我要使用的libusb
应该有输出
-lusb
然后右键单击项目属性 - > c / c ++ Build-&gt; Setting-&gt; Cross GCC Linker Miscellaneous,键入-lusb-1.0