C语言编译出来的程序执行时候报错:找不到VCRUNTIME140D.dll问题处理

问题描述

如下图,在使用visual stdio编译C语言程序的时候,默认情况下将编译出来的exe文件放置到其他的没有安装过很多其他软件的电脑上执行便会出现这个问题。运行时候会出现如下的错误。

问题出现原因

这个问题是由于使用visual stdio 编译C语言的时候没有没有附带动态链接库,导致程序运行的时候出现缺少DLL文件的问题

解决方案

这边提供两种解决方案

方案一

直接在要执行这个C语言的电脑上面安装对应的DLL文件(有的时候安装其他软件的时候已经将相应的DLL安装了,所以没有出现这个问题),点此前往下载地址,打开以后是这样的一个界面

找到上方红圈圈起来的地方,下载对应版本的文件,然后点击安装,重新打开文件,问题解决。(上面给的链接适用于visual stdio 2015 2017 2019 2022)

方案二

有的时候可能并不方便在要执行的电脑上安装Visual C++ Redistributable for Visual Studio (就是方案一下载的文件),或者是觉得方案一不够优雅,这边提供方案2,直接在编译的时候将dll文件一块编译进去。

操作方法如下:

首先在visual stido中打开解决方案管理器,(视图-解决方案管理器)

然后选中项目名,然后右键,选中属性(假如没有请滚动鼠标滑轮滑到底部,属性选项在最底下)

然后在右边选中 配置属性》 C/C++》代码生成,出现以下的界面

然后修改运行库选项,现在为“多线程调试DLL(MDd)模式”,我们将其调整为“多线程调试(/MTd)”模式

然后直接编译即可

关于这种方式,你需要直到以下的事情

1:编译出来的文件会变大很多

2:很多安全程序可能会错误报警,请再三斟酌

3:不知道是不是我电脑的问题,编译出来以后我再次编译该应用时候显示:LINK.exe:显示无法修改文件,并且无法删除编译输出文件夹:DEBUG目录。重启电脑以后恢复正常。大家也可能出现这样跟我一样的问题。

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议,记得载明出处,(期待)。内容有问题?点此反馈
上一篇
下一篇