Связывание с определенной версией совместно используемой библиотеки в linux

StackOverflow https://stackoverflow.com/questions/171676

  •  05-07-2019
  •  | 
  •  

Вопрос

Мой процесс сборки состоит из генератора Qmake Makefile Qt и типичной утилиты make в комплекте с linux.
Мое приложение состоит из нескольких общих библиотек, и основное приложение связано с ними.
Как я могу применить типичную схему версий Linux в моих библиотеках? (Используйте версию 2 - > ссылка на foo.so.2, которая указывает на foo.so.2.y.z со ссылкой, сгенерированной ldconfig).

Ответ не должен быть конкретным для моего процесса сборки.

Это было полезно?

Решение

Ваша библиотека должна иметь имя libfoo.so.2.yz с символическими ссылками на libfoo.so.2 и libfoo.so . указывая на это. Библиотека должна быть создана с использованием -soname libfoo.so.2 в командной строке компоновщика (или -Wl, -soname, libfoo.so.2 в командной строке gcc ).

Надеюсь, это поможет!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top