¿Cómo comprobar la dependencia de DLL?
A veces, cuando estoy haciendo un pequeño proyecto, no soy lo suficientemente cuidadoso y accidentalmente agrego una dependencia para una DLL que no conozco. Cuando envío este programa a un amigo u otras personas, "no funciona" porque falta "alguna DLL". Por supuesto, esto se debe a que el programa puede encontrar la DLL en mi sistema, pero no en el de ellos.
¿Hay alguna manera de escanear un ejecutable en busca de dependencias de DLL o ejecutar el programa en un entorno "limpio" sin DLL para realizar pruebas y evitar estas situaciones de Ups ?
dumpbin
de las herramientas de Visual Studio (carpeta VC\bin) pueden ayudar aquí:
dumpbin /dependents your_dll_file.dll
Puedo recomendar una solución interesante para los fanáticos de Linux. Después de explorar esta solución, cambié de DependencyWalker a esta.
Puede utilizar su favorito en lugar de los ldd
relacionados con Windows exe
.dll
Para hacer esto, necesita instalar Cygwin (instalación básica, sin necesidad de paquetes adicionales) en su Windows y luego simplemente iniciar Cygwin Terminal
. Ahora puedes ejecutar tus comandos favoritos de Linux, incluidos:
$ ldd your_dll_file.dll
UPD:ldd
También puedes usarlo a través del terminal git bash en Windows . No es necesario instalar cygwin en caso de que ya tenga git instalado.