Я получаю общую библиотеку от поставщика, назовите ее libvendor.so
. Когда он установлен, они помещают следующее в / usr / local / lib:
libvendor.so -> libvendor.so.3.14.00134.so
libvendor.so.3 -> libvendor.so.3.14.00134.so
libvendor.so.3.14.00134.so
Когда я компилирую свою программу, которая ссылается на него, я использую LDFLAGS -L/usr/local/lib -lvendor
. символьная ссылка и приводит к тому, что программа не запускается, если пользователь установил, скажем, 3.13. Можно ли заставить ld
не следовать символической ссылке или иным образом принять любую версию 3.x
общей библиотеки?