Como são os arquivos .so usados no Ubuntu

6

Sou muito novo no Linux e Ubuntu e portei o meu mecanismo de jogo simples para o Linux. O mecanismo está em um arquivo .so e está vinculado ao executável.

Não consigo executar meu executável porque ele diz que não pode encontrar o arquivo Engine.so (quando executado no terminal).

Então, se estou desenvolvendo no Ubuntu, como posso fazer com que o executável encontre a biblioteca sempre?

A segunda pergunta é ao distribuir o aplicativo como os arquivos .so são instalados? Eu suponho que eles não são apenas colocados no mesmo diretório que o exe como no windows? então como eles estão instalados?

    
por David Colson 02.09.2012 / 18:54

1 resposta

8

Os executáveis pesquisam bibliotecas em um conjunto de locais, por exemplo, /lib , /usr/lib , /usr/local/lib , ... então, se você não colocar seu arquivo .so em um desses locais ( /usr/local/lib pode ser um bom lugar), o executável não será executado.

Você pode especificar explicitamente um conjunto de diretórios para pesquisar definindo uma variável de ambiente LD_LIBRARY_PATH contendo os diretórios desejados (incluindo seu diretório de desenvolvimento, por exemplo).

    
por ubfan1 02.09.2012 / 19:06