Відповіді:
Для цього в режимі, незалежному від дистрибуції * ви можете використовувати ldconfig з grep, як це:
ldconfig -p | grep libjpeg
Якщо libjpeg не встановлений, виходу не буде. Якщо він встановлений, ви отримаєте рядок для кожної наявної версії.
Замініть libjpeg будь-якою бібліотекою, яку ви хочете, і у вас є загальний, незалежний від dist * спосіб перевірки наявності бібліотеки.
Якщо з якихось причин шлях до ldconfig не встановлений, зазвичай можна спробувати викликати його, використовуючи, як правило, його повний шлях /sbin/ldconfig
.
** у 99% разів *
bash: ldconfig: command not found
на Debian x64 Джессі з xfce! Це рекомендований реліз debian на веб-сайті debian ...
ldconfig
недоступний ( command not found
з'являється), якщо ви спробуєте запустити його, не будучи суперпользователем.
/sbin/ldconfig -p
працює для мене, не потребуючи root.
Ви можете проконсультуватися з диспетчером пакунків вашого розповсюдження (здатність, ням, ...), але, як ви не дали розподілу, я не можу дати вам правильну команду.
Інший спосіб може бути запущений gcc -ljpeg
, якщо ви отримаєте 'ld: library not found for -ljpeg', це означає, що gcc не знайшов бібліотеку (але це не означає, що вона не встановлена), якщо ви отримаєте щось на кшталт 'Не визначені символи : "_main", на яку посилається: ... "це означає, що libjpeg знайдено.
locate libjpeg; ls /usr/lib/libjpeg*; ls /lib/libjpeg*
є ще якийсь спосіб дізнатися, чи встановлена в системі lib
Існує багато інших способів перевірити, що якщо ви дасте нам більше контексту (чому вам потрібно перевірити, чи встановлено libjpeg), ми могли б дати вам найкраще рішення для вашого конкретного випадку.
Для розподілу на основі деб можна зробити
dpkg -s packagename
Або якщо ви знаєте лише ім'я файлу, використовуйте
locate filename
Ім’я файлу зазвичай libsomething.so [.version].
dpkg -s
обмеженою корисність, тому що вона бажає фактичної назви пакета, яка може суттєво або значно відрізнятися від самої бібліотеки. Я використовуюdpkg -s|grep LIBRARY
У системах на базі Redhat можна використовувати pkg-config, щоб перевірити, встановлена чи ні бібліотека. Багато бінарних файлів об / хв насправді роблять однакові перевірки перед тим, як приступити до встановлення, тому ми можемо розумно покладатися на його правдивість.
pkg-config --cflags jpeg
pkg-config --libs jpeg
pkg-config --cflags "jpeg >= 1.0.0" # for version check
pkg-config --modversion jpeg | awk -F. '{ printf "0x%02X%02X%02X\n",$1,$2,$3 }' #version check
Це робиться інструментами налаштування на Linux постійно.
Подивіться цей підручник про autoconf та KDevelop .
Інші хитрощі використовуватимуть команди на зразок ldconfig
та dpkg
.
Ви також можете спробувати використовувати dpkg, щоб перевірити, чи встановлений він.
dpkg --list | grep [some_key_words_of_your_lib]
Крім того, на CentOS ви можете спробувати це.
rpm -qa [lib_name]
pkg-config
замість цього.