Это зависит от контекста: плагины, предназначенные для загрузки через dlopen, обычно поставляются без номеров версий, например, /usr/libexec/apache2/mod_something.so
.
Обычные разделяемые библиотеки обычно имеют версии:
libfoo.so.Majorversion.Minoversion
libfoo.so.Majorversion
libfoo so
Часть Minorversion может быть изменена без уведомления, это означает, что совместимо . Если часть Majorversion изменяется, она (может быть) в несовместимом изменении. Поэтому я предлагаю вам использовать в dlopen вторую версию, например libz.so.1
not libz.so
или libz.so.1.2.11
.
(Для усложнения можно структурировать как Majorversion, так и Minorversion, например Major = '1.1' Minor = '1.a')