Найти версию библиотеки разработки из командной строки?

11

Я установил библиотеки разработки c ++ boost с помощью программного центра Ubuntu. Проблема в том, что это было довольно давно, и я не могу вспомнить, где они установлены и какой версии они были. Могу ли я что-нибудь сделать из командной строки, которая скажет мне, какие версии я установил в моей системе? Я знаю, что могу делать такие вещи, как

gcc -v

получить версию приложения, но есть ли подобная вещь для библиотек? Я использую Ubuntu 12.04

mathematician1975
источник
Что не так с whereis boost? Это возвращается /usr/include/boost. Большинство библиотечных заголовков находятся в /usr/includeсвоих двоичных файлах, обычно/usr/lib
con-f-use

Ответы:

20

Вы можете быстро найти, какая версия или где находится библиотека, даже если вы не совсем знаете название, с помощью dpkg и, в вашем случае, используя boost в качестве условия запроса:

dpkg -l '*boost*'

и затем снова запросите dpkg с этой опцией для получения полного списка расположений файлов, теперь вы знаете имя файла:

dpkg -L <'name of lib'>

Например, имя библиотеки может быть libboost1.46-dev.


источник
5

ldconfig -v требует sudo.

Все, что вам действительно нужно, это запросить его, так что это будет делать.

ldconfig -p | grep [name]

деревенщина
источник
2

Используйте ldconfig -vдля печати библиотек и текущего номера версии, а также grepдля фильтрации результатов ldconfig -v | grep [name].

Мариус Котофана
источник
0

Лучше найти пакет библиотеки с dpkg -S libXYZ.so.N.

Затем apt-cache showpkg libXYZотображается номер версии.

musbach
источник