当我尝试构建(使用 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