Ligando contra um específico compartilhada versão da biblioteca no linux
-
05-07-2019 - |
Pergunta
O meu processo de construção consiste em qmake Makefile gerador do Qt eo utilitário make típico empacotado com linux.
Meu aplicativo consiste em algumas bibliotecas compartilhadas e a aplicação principal está ligado contra eles.
Como posso aplicar o regime de versão linux típico em minhas bibliotecas? (Use a versão 2 -> link contra foo.so.2 que aponta para foo.so.2.y.z com um link gerado ldconfig).
A resposta não tem que ser específico para o meu processo de criação.
Solução
A sua biblioteca deve ser nomeado libfoo.so.2.y.z
, com links simbólicos de libfoo.so.2
e libfoo.so
ambos apontando para isso. A biblioteca deve ser criado usando -soname libfoo.so.2
na linha de comando vinculador (ou -Wl,-soname,libfoo.so.2
na linha de comando gcc).
Espero que ajude!