c项目中的eclipse构建错误

时间:2016-11-10 02:36:15

标签: c eclipse gcc

我在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");
    }
}

libusb在 enter image description here

当我构建错误

  

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

如何解决这个问题?

enter image description here

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