参考:带你玩转Visual Studio——带你跳出坑爹的Runtime Library坑
在做VC++开发的时候,双击应用程序,报错:
未经处理的异常 未能加载文件和程序集 或它的某一个依赖项 找不到指定的模块
step1 首先确认依赖的DLL是否在exe的同级目录下或者system32目录下。
step2 如果step1确认后依然不能解决问题,请检查你依赖的DLL是否还依赖其他DLL。
Dependency Walker 请务必下载。
在能正常运行和不能正常运行的电脑上,用需要分析的DLL。
如上图,表明你的电脑的应用程序对应的目录下缺少,前面标识?表明缺少对应的文件。
当你补充后,关闭后,再次用打开.分析后,就不缺少DLL了,你的应用程序也能正常打开了。
STEP3 特别重要
当你自己开发DLL的时候,当你释放给别人的DLL的时候,请释放Release版本的。也就是你的运行库选择:多线程DLL(/MD)。
如果选择:多线程调试DLL(/MDd)。我的开发环境是VS2010,如果选择:多线程DLL(/MD),你开发的DLL依赖:,如果选择:多线程调试DLL(/MDd),你开发的DLL依赖:,而VS2010的运行时库2010_x86.exe运行时库安装后在system32下有,而vs2010安装后两个都有,用于调试。
调试过程中选择:多线程DLL(/MD),释放的时候选择:多线程调试DLL(/MDd)
当然你也可以把和拷贝到你的应用程序的目录下。