问题描述
今天电脑(win7 ×64)上装了Visual Studio Community 2015 ,检测了一个小demo,没想到编译通过,运行出错。提示“无法启动此程序,因为计算机中丢失ucrtbased.dll。尝试重新安装该程序以解决此问题”。
解决办法一:选择静态编译(临时性方法)
第一步,在“解决方案资源管理器”中的项目上右击,选择属性。
第二步:找到运行库,右侧下拉列表内,选择“多线程调试(/MTd)”,然后点击确定按钮。程序重新编译后,就可以运行了。
解决方案二:(一劳永逸性方法)
解决方案三:下载ucrtbased.dll
从脚本之家下载来的ucrtbased.dll拷贝到指定目录即可(一般是system系统目录或放到软件同级目录里面),或者重新添加文件引用。 本人电脑是win7 ×64的系统,所以把ucrtbased.dll拷贝到目录“C:\Windows\SysWOW64”。
总结
Visual Studio 2015默认是选择“动态编译”,也就是选择了带 DLL 的两个选项。要想搞清楚出错的原因,必须清楚CRT的原理和visual studio内的一些细节。具体看下面的链接。
http://blog.youkuaiyun.com/so_geili/article/details/53009655