0

Linux 上总是预装了 jpeg 解码器库,例如:

/usr/lib/x86_64-linux-gnu/libjpeg.so
/usr/lib/x86_64-linux-gnu/libjpeg.so.62
/usr/lib/x86_64-linux-gnu/libjpeg.so.62.0.0
/usr/lib/x86_64-linux-gnu/libjpeg.so.8
/usr/lib/x86_64-linux-gnu/libjpeg.so.8.0.2

图书馆和图书馆有什么区别solibjpeg.so.62构建libjpeg-turbo自?

4

1 回答 1

1

首先,如果你运行:

ls -l /usr/lib/x86_64-linux-gnu/*jpeg*

您将看到大多数文件只是指向完整版本的文件的符号链接,因此程序可以通过指定一个未版本化的库来链接最新的文件,因为它知道它将指向最新版本:

lrwxrwxrwx 1 root root     17 Oct 20  2016 libjpeg.so -> libjpeg.so.62.2.0
lrwxrwxrwx 1 root root     17 Oct 20  2016 libjpeg.so.62 -> libjpeg.so.62.2.0
-rw-r--r-- 1 root root 436224 Oct 20  2016 libjpeg.so.62.2.0

其次,不幸的是,我没有与您相同的文件,否则我会进一步提供帮助,但总的来说,您可以像这样找到给定文件来自哪个包:

dpkg -S someFile

所以,在我的系统上,我可以看到,libjpeg.a例如,来自包libjpeg62-turbo-dev

dpkg -S libjpeg.a
libjpeg62-turbo-dev:amd64: /usr/lib/x86_64-linux-gnu/libjpeg.a
于 2019-01-23T08:14:16.573 回答