我是开发嵌入式系统的新手,但我已经通过Linux Mint包管理器安装了arm-linux-gnueabi-gcc,并成功构建了一些程序。
我目前正在努力使用libusb编译程序。我做了以下事情:
从https://sourceforge.net/projects/libusb/下载并解压缩libusb 1.0.20来源。
使用以下命令编译并安装它们:
〜/ 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
〜/ 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编译器编译库时失败了?我没有在这里包含编译器输出,因为它很长,但没有明显的错误。这可能是一个非常愚蠢的问题,但我完全无能为力。