Encontrar dependencias para un programa C++ compilado

Encontrar dependencias para un programa C++ compilado

Escribí y compilé un programa en C++ usando Qt Creator en Ubuntu 13.10 (32 bits). Intenté ejecutar el programa compilado en un Ubuntu 13.10 (64 bits) recién instalado. Pero no se ejecuta.

Creo que el problema está en las dependencias. ¿Cómo puedo encontrar (=conocer el nombre y la versión de) las dependencias necesarias?

Respuesta1

Esto es un poco tosco, pero creo que el comando ldd está pensado para su situación.

ldd se utiliza para enumerar las dependencias de biblioteca cargadas dinámicamente para un ejecutable. Si ldd no puede encontrar una biblioteca necesaria, indica que la biblioteca "no se encuentra".

Como ejemplo, si ejecuto ldd con un binario gqrx antiguo que encontré, obtengo el siguiente resultado:

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 puede ver, desde entonces actualicé las bibliotecas libgnuradio y eliminé las versiones anteriores. ldd enumera las bibliotecas que faltan como "no encontradas".

¡Buena suerte!

información relacionada