自己写了个DEMO,收到提示:“无法启动此程序,因为计算机中丢失MSVCP100D.dll。尝试重新安装该程序以解决此问题。”
在项目里面找属性:Property->C/C++->Code Generation->Runtime Library
把多线程调试DLL(/MDd)改为多线程调试 (/MTd)就好了。
总结:
MSVCP100D.dll,这个dll对应的是C++编译器的Code Generation的Runtime Library版本的设置。默认vs2010会把他设置成Multi-threaded Debug DLL (/MDd),这时使用的就是MSVCP100D.dll。正常发布时应该是设置为Multi-threaded (/MT)或/MD,这时就会去使用vc++ 2010 redistribution里的dll了。带d的DLL含有living debug所需的调试功能,但不在redistribution里。另外,直接修改编译模式从Debug改为Release也会修改这个配置。但别忘记了把Release下的VC++ Dictionary里的值和Link Input重新配置哦,这些配置也同样不会从Debug里复制过来。