Por que meu programa não consegue encontrar as bibliotecas em “/ usr / local / lib”? [duplicado]

7

Estou no Ubuntu 10.10 e acabei de atualizar o OpenV para 2.4.2.

O problema é que toda vez que eu abro um novo shell e tento compilar e executar, ele compila, mas não é executado devido ao seguinte erro:

./a.out: error while loading shared libraries: libopencv_calib3d.so.2.4: cannot open shared object file: No such file or directory

Tanto quanto eu posso ver, este arquivo está localizado em / usr / local / lib /!

Eu posso executá-lo executando o seguinte de antemão:

export LD_LIBRARY_PATH=/usr/local/lib

Como posso corrigir esse problema?

    
por nkint 18.07.2012 / 12:13

1 resposta

4

/usr/local/lib não está no caminho padrão do Ubuntu. Você deve adicioná-lo ao final da variável de ambiente LD_LIBRARY_PATH em /etc/environment . A reinicialização e o novo caminho serão eficazes.

Você também pode definir isso por usuário em ~ / .bashrc

Exemplo (/ etc / environment)

LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib

Exemplo (~ / .bashrc)

export LD_LIBRARY_PATH="/lib:/usr/lib:/usr/local/lib"
    
por ish 18.07.2012 / 12:41