运行程序显示丢失“MSVCR100D.dll”
程序在其他电脑上运行会出现丢失“MSVCR100D.dll”。这个dll是vs2010自带的动态链接库,如果在没安装vs2010运行库的电脑中使用就会出现这种情况。具体错误信息:“无法启动此程序,因为计算机中丢失MSVCR100D.dll”。尝试重新安装该程序以解决此问题;
1. 通过运行电脑安装MSVCR100D.dll
360安全卫士 –> 人工服务 –> 搜索框里输入MSVCR100D.dll,点击查找方案 –> 点击立即修复;
2:从编译方式解决
VS2010在编译执行程序时,会传入不同的参数:/MD , /MDd, /MT, /MTd
/MD : 多线程DLL版本,编译器会把MSVCRT.lib 放到.obj 文件中,然后链接器通过MSVCRT.lib解析外部符号;是一种动态编译,程序运行时必须依赖于响应的DLL。
/MDd: 和 /MD 差不多,区别在于MDd是调试状态;
/MT :多线程静态版本。编译器会把静态多线程标准C++库放到.obj文件中,然后链接器通过libcpmt.lib解析外部符号。程序运行时不需要依赖外部的动态链接库,但exe文件会响应变大;
/MTd: /MT 的调试状态;
所以,解决“MSVCR100D.dll”丢失的问题,只需要在VS2010编译时将编译选项设置为/MT 或 /MTd;
VS2010编译器设置: