也许在一个大型的项目中,你的代码中会出现很多DLL文件,而将那些DLL文件和你的软件打包移植到别的机器上却不能使用。例如:但将软件解压安装之后,点击运行,会弹出“缺少MSVCR120.dll”,一般的软件会到“C:\Windows\System32”这个目录下或是你当前exe软件所在的目录下去找那些软件中需要用到的依赖的DLL,但是XP的系统下你也许会发现有些DLL在这两个目录下都没有,所以运行软件时会提示有该错误。那么可以做点什么呢?
对于软件的开发人员来说,这时候Depend这个工具就起到了很好的作用。你通过Depend工具会找到一些需要依赖的Dll,但是如何去寻找这些Dll呢?我最开始的做法是将找到的Dll在XP,win7,win8,win10,32位以及64位的系统上进行对比,发现其实经常出现不同的往往是那些类似于MSVCR120.DLL,MSVCP120.DLL,也就是或DLL的名称末尾是一些数字的可能在某些系统上会没有。打包制作软件的时候就可以将这些DLL一起打包进去(我使用的InstallShield这个打包工具),VS好像也自带有这个打包工具。
对于我们普通用户来说我们可以在网上下载相应的DLL,之后拷贝到应用程序的目录下或是“C:\Windows\System32”的目录下面,应用程序应该就可以运行。