libopencv_features2d.so.2.4 presente em / usr / local / lib, mas o executável precisa de libopencv_features2d.so.2.3

1

Eu sou um novato, então se essa pergunta já foi feita anteriormente ou é muito rudimentar, por favor, seja fácil comigo e seja útil.

Eu instalei o opencv-2.4.0 e agora estou trabalhando no código de classificação do terreno. Estou recebendo o seguinte erro ao executar o carregador, ./terrClass .

error while loading shared libraries: 
libopencv_features2d.so.2.3: cannot open shared object file: No such file or directory

Eu tentei a solução de

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

mas a coisa está no meu diretório /usr/local/lib , libopencv_features2d.so.2.4 está presente, não libopencv_features2d.so.2.3 . O que eu deveria fazer agora. Devo degradar libopencv_features2d.so.2.4 para libopencv_features2d.so.2.3 ou o quê?

Mais uma coisa que eu deveria dizer a vocês. Existe um diretório principal chamado terrClass e, em seguida, há um subdiretório src . Há dois executáveis, um no diretório principal chamado terrClass e um no subdiretório src também chamado, terrClass .Este executável roda bem sem nenhum erro no diretório principal, mas no diretório src está dando o erro como mencionado acima.

Devo tentar eliminar esse erro antes de continuar com o código ou não há problema em usar o executável do diretório principal e ignorar aquele no diretório src .

    
por Muhammad Hanbal 06.04.2015 / 14:48

2 respostas

0

Você deseja o pacote libopencv-features2d2.3 , que não está disponível para trusty ou utopic , mas que ainda está disponível para precise ; você pode adicionar o repositório universe para precise aos seus repositórios apt adicionando essas linhas a /etc/apt/sources.list :

deb http://archive.ubuntu.com/ubuntu/ precise universe
deb-src http://archive.ubuntu.com/ubuntu/ precise universe

Em seguida, você pode instalar libopencv-features2d2.3 executando este comando:

sudo apt-get update && sudo apt-get install libopencv-features2d2.3
    
por kos 06.04.2015 / 15:33
1

As versões de bibliotecas subseqüentes geralmente contêm um superconjunto dos símbolos e recursos da API da versão anterior. Pode ser o suficiente para criar um link simbólico:

ln -s libopencv_features2d.so.2.4 /usr/local/lib/libopencv_features2d.so.2.3
    
por David Foerster 06.04.2015 / 15:39