Visual Studio 2015中ucrtbased.dll丢失

问题描述

今天电脑(win7 ×64)上装了Visual Studio Community  2015 ,检测了一个小demo,没想到编译通过,运行出错。提示“无法启动此程序,因为计算机中丢失ucrtbased.dll。尝试重新安装该程序以解决此问题”。

Visual Studio 2015中ucrtbased.dll丢失_第1张图片

解决办法一:选择静态编译(临时性方法)

第一步,在“解决方案资源管理器”中的项目上右击,选择属性。

Visual Studio 2015中ucrtbased.dll丢失_第2张图片

第二步:找到运行库,右侧下拉列表内,选择“多线程调试(/MTd)”,然后点击确定按钮。程序重新编译后,就可以运行了。

Visual Studio 2015中ucrtbased.dll丢失_第3张图片

解决方案二:(一劳永逸性方法)

方案一中的方案只针对当前的工程项目起作用。另建立一个工程,还会遇到同样的问题,一个一劳永逸的方法是”debug属性页“中设置。
第一步:找到”属性管理器“,在”Debug | Win32“上右击,找到属性。如果找不到属性管理器,在视图------其他窗口-------属性管理器。

第二步:Debug属性页--------代码生成-----------运行库----------多线程调试(/MTd)


解决方案三:下载ucrtbased.dll

从脚本之家下载来的ucrtbased.dll拷贝到指定目录即可(一般是system系统目录或放到软件同级目录里面),或者重新添加文件引用。 本人电脑是win7 ×64的系统,所以把ucrtbased.dll拷贝到目录“C:\Windows\SysWOW64”。

总结

Visual Studio 2015默认是选择“动态编译”,也就是选择了带 DLL 的两个选项。要想搞清楚出错的原因,必须清楚CRT的原理和visual studio内的一些细节。具体看下面的链接。

http://blog.csdn.net/so_geili/article/details/53009655

你可能感兴趣的:(C/C++)