LINUX.ORG.RU

Линковка полным именем либы


0

0

Всезнающий ALL просветите меня когда линковка выполняется не по ключу –lимя_либы а полным именем либы.

Не так gcc main.o -o main –ltest.so

А указанием пути к либе и ее полным именем gcc main.o -o main ./lib/libtest.so.1.0

В описании линкера не могу найти такого метода линковки. Где то краем глаза прочитал что так раньше прилинковывали статические либы.

-L/path/to/lib/directory -lyou_lib.so

anonymous
()

Насколько я помню, оно так слинкуется, но будет зависить от ./lib/libtest.so.1.0, а не от libtest.so.1.0 в произвольном месте доступном ld.so.

rymis ★★
()
Ответ на: комментарий от rymis

>Насколько я помню, оно так слинкуется, но будет зависить от Да еще у нее название в линках будет не правильное, если у либы не задано правильное soname.

Но собственно у меня вопрос зачем так линкуют шаредные либы? (частичный ответ я знаю – что бы слинковаться с конкретной версией либы, которая будет подгружаться для данного бинарника).

И где документации линковщика описан данный вариант линковки и зачем этот вариант нужен?

Aleks_IZA
() автор топика
Ответ на: комментарий от Aleks_IZA

Например из соображений безопасности, чтобы не реагировать на LD_LIBRARY_PATH. Где описано - сразу не скажу.

rymis ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.