工具链未找到交叉编译的库

时间:2016-09-14 09:36:46

标签: c linux gcc arm

我是开发嵌入式系统的新手,但我已经通过Linux Mint包管理器安装了arm-linux-gnueabi-gcc,并成功构建了一些程序。

我目前正在努力使用libusb编译程序。我做了以下事情:

〜/ Downloads / libusb-1.0.20 $ ./configure --host = arm-linux-gnueabi --prefix = / opt / --disable-udev

〜/ Downloads / libusb-1.0.20 $ sudo make

〜/ Downloads / libusb-1.0.20 $ sudo make install

(su命令make命令的原因是因为我遇到了与删除旧文件相关的权限问题。)

  • 从互联网上的某处复制了一个小样本文件:

    #include <libusb-1.0/libusb.h>
    #include <stdio.h>
    
    int main()
    {
      int i=0;
      libusb_context **c = NULL;
      i = libusb_init(c);
      printf("\nusing libusb.h\n");
      return 0;
    }
    
  • 尝试构建它并使用gcc运行它:

〜/ Desktop / libtest $ gcc libtest1.c -o libtest1 -lusb-1.0

〜/ Desktop / libtest $ ./libtest1

使用libusb.h

  • 但是,当我尝试使用arm-linux-gnueabi-gcc做同样的事情时,它找不到该库:

〜/ Desktop / libtest $ arm-linux-gnueabi-gcc libtest1.c -o libtest1 -lusb-1.0

/usr/lib/gcc-cross/arm-linux-gnueabi/4.7 /../../../../ arm-linux-gnueabi / bin / ld:找不到-lusb-1.0 collect2:错误:ld返回1退出状态

我哪里出错了?为了使用这个库,我还需要做些什么吗?我是否在为arm编译器编译库时失败了?我没有在这里包含编译器输出,因为它很长,但没有明显的错误。这可能是一个非常愚蠢的问题,但我完全无能为力。

0 个答案:

没有答案