Encontrando dependências para um programa C++ compilado

Encontrando dependências para um programa C++ compilado

Escrevi e compilei um programa C++ usando Qt Creator no Ubuntu 13.10 (32 bits). Tentei executar o programa compilado em um Ubuntu 13.10 (64 bits) recém-instalado. Mas não é executado.

Acho que o problema está nas dependências. Como posso encontrar (= saber o nome e a versão) das dependências necessárias?

Responder1

Isso é um pouco grosseiro, mas acho que o comando ldd se destina à sua situação.

ldd é usado para listar as dependências da biblioteca carregadas dinamicamente para um executável. Se o ldd não conseguir encontrar uma biblioteca necessária, isso indicará que a biblioteca "não foi encontrada".

Por exemplo, se eu executar o ldd com um binário gqrx antigo que encontrei, obtenho a seguinte saída:

linux-gate.so.1 (0xb7fff000)
libgnuradio-audio.so.3.6.1 => not found
libgnuradio-osmosdr.so.0 => not found
libgnuradio-core.so.3.6.1 => not found
libgruel.so.3.6.1 => not found
libfftw3f.so.3 => /usr/lib/i386-linux-gnu/libfftw3f.so.3 (0x41b5d000)
libusb-1.0.so.0 => /lib/i386-linux-gnu/libusb-1.0.so.0 (0x422ee000)
libQtGui.so.4 => /usr/lib/i386-linux-gnu/libQtGui.so.4 (0x42e47000)
libQtCore.so.4 => /usr/lib/i386-linux-gnu/libQtCore.so.4 (0xb7cde000)
libpthread.so.0 => /lib/i386-linux-gnu/i686/cmov/libpthread.so.0 (0x411dc000)

Como você pode ver, atualizei as bibliotecas libgnuradio e removi as versões mais antigas. ldd lista as bibliotecas ausentes como "não encontradas".

Boa sorte!

informação relacionada