gcc: 错误:/usr/lib/libusb-1.0.so:没有此文件或目录

gcc: 错误:/usr/lib/libusb-1.0.so:没有此文件或目录

当我尝试构建(使用 make)我的系统时出现此错误。

gcc: 错误:/usr/lib/libusb-1.0.so:没有此文件或目录

我使用此命令安装了这个包

$ sudo apt-get 安装 libusb-1.0-0-dev:amd64

但是当我看这个时,它指向了错误的地方???

$ cd /usr/lib

$ ls -l libusb*

lrwxrwxrwx 1 root root 35 4月26日 13:49 libusb-1.0.so -> /lib/i386-linux-gnu/libusb-1.0.so.0

lrwxrwxrwx 1 root root 35 4月26日 16:27 libusb-1.0.so.0 -> /lib/i386-linux-gnu/libusb-1.0.so.0

我不确定为什么,但这些不应该指向 /lib/x86_64-linux-gnu

不确定如何进行或我做错了什么。

答案1

首先安装开发包:

sudo apt update
sudo apt install libusb-1.0-0-dev

接下来,我们可以通过列出该包中的所有文件并使用 grep 来过滤结果来找到该文件:

dpkg -L libusb-1.0-0-dev | grep \.so

现在,我们可以为这个文件创建一个 simlink:

sudo ln -s $(dpkg -L libusb-1.0-0-dev | grep \.so) /usr/lib/libusb-1.0.so

这应该已经修复了你的错误。但是,了解你正在尝试构建的内容确实很有帮助,因为可能存在更好的解决方案来解决你的问题。另外,不要忘记,在再次make clean运行之前,你可能需要运行make一次。


另外,这里还有一个小技巧。要找到包含文件的包,我们可以使用该apt-file命令。

首先,安装apt-file包:

sudo apt update
sudo apt install apt-file

接下来更新文件列表:

sudo apt-file update

现在,搜索包含该文件的包:

apt-file search /usr/lib/libusb-1.0.so

因为此命令没有返回结果,我们可以简化搜索,看看该文件是否存在于不同的文件路径下(这可能需要一段时间):

apt-file search libusb-1.0.so

现在,您可以在以下输出中看到我们需要该libusb-1.0-0-dev包:

libusb-1.0-0: /lib/x86_64-linux-gnu/libusb-1.0.so.0
libusb-1.0-0: /lib/x86_64-linux-gnu/libusb-1.0.so.0.1.0
libusb-1.0-0-dev: /usr/lib/x86_64-linux-gnu/libusb-1.0.so

相关内容