As bibliotecas compiladas são carregadas automaticamente quando um binário é executado. Para isso, os locais definidos em /etc/ld.so.conf são verificados. Na maioria das distribuições, você deve colocar a biblioteca em /usr/local/lib
, onde as bibliotecas não instaladas pelo gerenciador de pacotes são armazenadas.
Se você não quiser instalar o sistema de biblioteca inteiro (ou não tiver acesso root), você pode definir LD_LIBRARY_PATH
para a pasta que contém seu arquivo .so ao executar seu programa:
LD_LIBRARY_PATH=/path/to/folder_with_so_file ./yourprogram
Com relação ao número da versão: se seu programa procurar explicitamente por .so
sem um número, crie um link simbólico (também na pasta lib):
ln -s <name>.so.0 name.so
A maioria das bibliotecas mantém o arquivo com o número de versão mais específico e cria links simbólicos para a versão principal e o nome sem versão (por exemplo, no meu sistema /usr/lib
contém os arquivos libjpeg.so
, /usr/lib64/libjpeg.so.62
e /usr/lib64/libjpeg.so.62.0.0
, os dois primeiros sendo links simbólicos para o último)