Недавно я много читал о разделяемых библиотеках в Linux, и вот что я узнал:
- В разделяемую библиотеку следует встраивать
soname
, включая ее основной номер версии.Что-то вроде: libfoo.so.1
- Его реальное имя файла также должно включать младший номер версии.Что-то вроде:
libfoo.so.1.0
- Когда файл библиотеки копируется, скажем,
/usr/local/lib
, если запущен ldconfig
, он прочитает soname
и создаст символическую ссылку с именем libfoo.so.1
, указывающую на libfoo.so.1.0
. - Если кто-то хочет использовать эту библиотеку для своих разработок, он должен сначала создать символическую ссылку без номера версии на реальный файл, скажем
libfoo.so
, указывающую на libfoo.so.1.0
.Обычно это делается пакетом development (когда библиотека упакована).
Это правильно?