Visual Studio 2017运行C程序报错:CL.exe exited with code -1073741515求助
解决CL.exe exited with code -1073741515的实用方案
我之前也碰到过这个CL.exe退出码-1073741515的问题,结合你安装的VS社区版+桌面C开发+CLI/C支持的环境,给你几个亲测有效的排查方向:
检查CL.exe在开发者命令提示符中的可用性
首先验证编译工具本身是否正常:- 打开开始菜单,找到Visual Studio文件夹下的「x64 Native Tools Command Prompt for VS 20XX」(替换成你的VS版本)
- 在命令行中输入
cl,如果输出CL.exe的版本信息,说明工具本身没问题;如果报错,大概率是VS组件安装不完整。 - 解决办法:打开VS Installer选择「修改」,确保勾选了「C++核心功能」「MSVC v143生成工具」(对应你的版本)以及「Windows SDK」相关组件,执行修复安装。
排查项目配置冲突
因为你勾选了CLI/C++支持,很容易出现配置不匹配的问题:- 右键项目 → 属性 → 配置属性 → 常规:
- 确认「平台工具集」是你安装的VS版本(比如v143),「平台」和你的系统架构一致(x64或x86)
- 如果你的Hello World是纯C程序,别忘记检查:
- 配置属性 → C/C++ → 所有选项 → 「公共语言运行时支持」,改成「无」(因为/clr是CLI/C++的选项,纯C项目启用会导致编译异常)
- 右键项目 → 属性 → 配置属性 → 常规:
排除杀毒软件的拦截
很多杀毒软件会把CL.exe这类编译工具误判为恶意程序,直接拦截运行:- 暂时关闭杀毒软件的实时防护,或者把CL.exe所在路径(通常是
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\<版本号>\bin\Hostx64\x64)添加到信任列表,之后重新编译试试。
- 暂时关闭杀毒软件的实时防护,或者把CL.exe所在路径(通常是
清理缓存并重建项目
旧的编译缓存可能导致异常:- 菜单栏 → 生成 → 清理解决方案
- 删除项目文件夹下的
Debug/Release文件夹,以及隐藏的.vs文件夹 - 重新生成解决方案,看是否能正常编译
使用开发者命令提示符编译项目
如果系统环境变量配置有问题,VS的开发者命令提示符会自动加载所有必要的编译环境:- 打开对应的开发者命令提示符
- 输入
devenv 你的项目路径\你的项目.sln打开项目 - 在这个环境下尝试编译Hello World程序
内容的提问来源于stack exchange,提问作者user9740156




