2008-12-09 12 views

Respuesta

14

Pruebe la opción /oc:FILENAME para depende, para escribir un archivo de valores separados por comas. Parece que es más fácil de analizar por máquina que el archivo de texto de "forma libre" generado por la opción/ot: NOMBRE DE ARCHIVO /.

+1

En Powershell, estás todo configurado: depends.exe /oc:tmp.txt file.dll; Import-Csv tmp.txt | Format-Table -AutoSize te ofrece una tabla bonita y filtrable. – jhclark

8

Dependency Walker tiene many options incluyendo opciones de salida de archivo. Una de ellas es /oc:<path>, que escribe la salida en CSV file, que otras herramientas pueden analizar fácilmente o incluso solo importar en una aplicación de hoja de cálculo.

Dependiendo de lo que necesite las dependencias para usted, puede tener herramientas multiplataforma para hacer esto también - por ejemplo CMake fixup-bundle que puede copiar todas las dependencias no relacionadas detectadas a la ubicación de su destino (biblioteca ejecutable o compartida) , incluso en Windows. La documentación no lo explica con claridad, pero lo he usado para ese propósito en un proyecto multiplataforma desde hace un tiempo.

+0

El "depende" mencionado en la pregunta es el nombre del exe de Dependency Walker. – unwind

+0

depende de Dependency Walker y lo mismo. Sé que se puede ejecutar en línea de comandos, pero dije que la salida no es amigable con la computadora. – Jazz

+0

Sí, me lo perdí, es malo por ser demasiado rápido para leer la pregunta. Pero sí intenté la respuesta de Unwind anterior: la versión csv es más fácil de analizar. –

2

Usando la opción /oc:<path>, Dependency Walker le da un CSV file que se analiza fácilmente. Si también desea las rutas a las bibliotecas, también necesita usar la opción -f 1. Es posible que desee hacer esto si necesita copiar las bibliotecas (por ejemplo, para crear una versión distribuible de un ejecutable).

Desafortunadamente en la salida de depends.exe, las rutas a las bibliotecas se convierten a minúsculas y el nombre de la DLL se convierte a mayúsculas. Por ejemplo,

c: \ qtsdk \ desktop \ qt \ 4.7.4 \ MinGW \ bin \ QTCORE4.DLL

Cuando la biblioteca se encuentra realmente en:

C : \ QtSDK \ Desktop \ Qt \ 4.7.4 \ MinGW \ bin \ QtCore4.dll

no parece ser una manera de conseguir depends.exe al informe de los caminos correctamente cuál es la vergüenza.

+2

+1 por la palabra "vergüenza" – ceztko

+3

superior, inferior ... sin configuración, ¡a Windows no le importa para nada! – relascope

Cuestiones relacionadas