Как найти имя файла библиотеки через имя библиотеки?

Как найти имя файла библиотеки через имя библиотеки?

другими словами, когда я использую "- lc", я знаю, что это /lib/libc.Итак.6 (или что-то подобное.) Я хочу иметь возможность ввести некоторую команду, где" - lc "является входом и" /lib / libc.Итак.6" - это выход. Чтобы расширить эту идею, я хотел указать свой собственный путь поиска, чтобы я мог использовать этот решатель библиотеки для разных цепочек инструментов... Любая помощь была бы потрясающей,

спасибо Ченз!--1-->

2 ответов


если вы хотите узнать, где данный GCC найдет libc.a или libc.Итак, сделайте следующее:

gcc --print-file-name=libc.a
gcc --print-file-name=libc.so

причина -lc превращается в libc.so.6 несколько сложно: для glibc,libc.so - это скрипт компоновщика, который обычно содержит:

/* GNU ld script
   Use the shared library, but some functions are only in
   the static library, so try that secondarily.  */
OUTPUT_FORMAT(elf32-i386)
GROUP ( /lib/libc.so.6 /usr/lib/libc_nonshared.a  AS_NEEDED ( /lib/ld-linux.so.2 ) )

или что-то подобное.


GCC-Wl,--файл трассировки.c

напечатает список входных файлов для ЛД