我在Mac电脑上将Eclipse IDE用于C项目
我安装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");
    }
}


libusb在
c - Eclipse C项目中的构建错误-LMLPHP

当我建立错误


  10:17:53 ****为项目testusb构建配置调试****
  制作所有建筑文件:../src/testusb.c调用:跨GCC编译器
  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:警告:未使用的变量
  '状态'[-Wunused变量]
          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”,引用自:
        testusb.o中的_main ld:对于体系结构x86_64 clang找不到符号:错误:链接器命令失败,退出代码为1(使用-v
  请参见调用)make:* [testusb]错误1


如何解决?

c - Eclipse C项目中的构建错误-LMLPHP

最佳答案

感谢@Fang建议Libusb undefined reference to
我解决了这个问题。
第一类

pkg-config --list-all


查询所有已安装的库,检查libusb是否已安装,
然后输入

pkg-config --libs libusb


链接到我要使用的libusb

应该有输出

-lusb


然后右键单击项目属性-> c / c ++构建->设置->跨GCC链接器,键入-lusb-1.0

关于c - Eclipse C项目中的构建错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40519142/

10-13 02:32