有时,当我在做一个小项目时,我不够小心,不小心为我不知道的DLL添加了一个依赖项。当我将这个程序发送给朋友或其他人时,“它不工作”,因为“一些DLL”丢失了。当然,这是因为程序可以在我的系统上找到DLL,但不能在他们的系统上找到。
有没有一种方法可以扫描可执行文件中的DLL依赖关系,或者在“干净”的无DLL环境中执行程序以进行测试,以防止这些oops情况?
发布于 2011-09-11 22:47:18
试试Dependencies (2019年12月),它是著名的Dependency Walker的现代重写(最后一次更新是在2006年)
发布于 2015-02-04 01:07:25
Visual Studio tools (VC\ dumpbin
文件夹)中的bin可以在以下位置提供帮助:
dumpbin /dependents your_dll_file.dll
发布于 2011-09-11 22:48:40
最安全的事情是有一些干净的虚拟机,你可以在上面测试你的程序。在您想要测试的每个版本上,将VM恢复到其初始清理值。然后使用它的安装程序安装你的程序,看看它是否工作。
Dll问题有不同的方面。如果使用Visual Studio并动态链接到CRT,则必须分发CRT DLL。更新您的VS,您必须分发另一个版本的CRT。仅仅检查依赖项是不够的,因为您可能会错过这些依赖项。在干净的机器上完全安装是唯一安全的解决方案,IMO。
如果你不想建立一个成熟的测试环境并安装Windows7,你可以使用XP模式作为初始的干净机器,并使用XP-More来复制虚拟机。
https://stackoverflow.com/questions/7378959
复制相似问题