2009-06-29 11 views

Respuesta

94
  • Mac OS X: otool-Larchivo
  • Linux: lddarchivo

Si estos comandos no proporcionan lo que quiere, en Mac OS X se puede volcar todo el cargar comandos con otool-larchivo. En Linux, puede volcar todo el contenido de la sección dinámica con readelf-d, archivo.

+0

¡Guau! ¡Funciona genial! Muchas gracias! – Viet

+1

¿Qué pasa con las bibliotecas estáticas? Intenté 'otool -L' pero todo lo que hace es mostrar una lista de archivos .o que se utilizan para compilar la biblioteca. –

+0

@ user3055655: Las dependencias dinámicas de la biblioteca se crean al enlazar. Debido a que aún no se ha vinculado una biblioteca de archivos estáticos, no tendría ninguna dependencia de biblioteca dinámica. – mark4o

6

prueba ldd en el terminal. Esto le proporcionará una lista de bibliotecas dinámicas que el binario necesita.

+0

¡Gracias por la pronta respuesta! Era tan simple como: ldd/ruta/a/ejecutable_or_dylib y la versión detallada: ldd -v/ruta/a/ejecutable_or_dylib – Viet

+1

Se ejecuta perfectamente para ejecutables. Cuando ejecuto ldd aDynamicLib.so en Ubuntu 9.04, dice: "no es un ejecutable dinámico". ¿Cómo descubrir las dependencias de un archivo .so? ¡Gracias de antemano! – Viet

9

También puede probar MacDependency (http://macdependency.googlecode.com) que proporciona un reemplazo de IU para otool en MacOS X. Muestra árboles de dependencia completos y también los símbolos exportados.

+0

muchas gracias Konrad! Lo probaré. – Viet

Cuestiones relacionadas