Visual C++ 2010开发的程序在其它电脑上运行提示“找不到MSVCR100D.dll”原因及解决
Microsoft Visual C++(简称Visual C++、MSVC、VS或VC)2010是微软公司的免费C++开发工具,具有集成开发环境,可提供编辑C语言,C++以及C++/CLI等编程语言。 Microsoft Visual C++ 2010,2009年发布,新添加了对C++11标准引入的几个新特性的支持。
问题描述:Visual C++ 2010开发的程序在其它电脑上运行出现“找不到MSVCR100D.dll”。如:
原因是, 这个dll是Visual C++ 2010自带的动态链接库,如果在没安装Visual C++ 2010运行库的电脑中使用就会出现这种情况。
主要是因为工程默认没有使用静态联编,没把必须的DLL库编译进去导致的。
Visual C++ 2010编译器默认是动态编译,我们需要配置成静态编译。
动态编译:在程序编译时dll不被连接到目标代码中,而是在程序运行是才被载入。
静态编译:在程序编译时dll会被连接到目标代码中,程序运行时将不再需要该静态库。
从编译方面解决:
在“Solotion Explorer”找到项目(Project)名称右击,出现快捷菜单的Properties命令,出现“XXXX Property Pages”对话框,其中XXXX代表项目(Project:项目、工程)名称。
在 “XXXX Property Pages”对话框中,Configuration Properties—>Code Generation—>Runtime Library:Multi-Threaded Debug(/MTd)
【中文参见下图:在“属性页”上按如下设置:配置属性 —> C/C++ —> 代码生成 —> 运行库 :多线程调试( /MTd)
】
OK!