Visual Studio 2022使用标准函数puts出现C1083致命错误是什么原因
Visual Studio 2022 编译C++代码报C1083错误原因分析
运行代码:
#include <cstdio> int main() { puts("Hello, World!"); return 0; }
错误信息:
fatal error C1083: Cannot open include file: 'stdio.h': No such file or directory
常见触发原因
- Windows SDK 未安装或版本不匹配:如果项目配置的Windows SDK版本没有在当前设备安装,就会找不到标准库头文件。该问题多出现在跨设备迁移项目、或者创建项目时手动选择了不存在的SDK版本的场景。
- C++开发组件安装不完整:安装VS2022时如果没有勾选「使用C的桌面开发」工作负载,或者该工作负载下的「C通用CRT SDK」「对应版本Windows SDK」子组件被取消勾选,会直接缺失stdio.h这类基础C标准库头文件。
- 项目包含路径配置错误:手动修改过项目的包含目录配置,删除了VS默认的标准库头文件查找路径,也会导致编译时无法定位头文件。
快速修复方案
- 右键当前项目 → 点击「属性」 → 切换到「常规」选项卡,找到「Windows SDK版本」配置项,选择下拉列表中标注了「已安装」的版本,应用后重新编译即可。
- 如上述操作无效,打开Visual Studio Installer,点击对应VS2022版本的「修改」按钮,确认已勾选「使用C的桌面开发」工作负载,同时在右侧可选组件中勾选最新版Windows SDK和「C通用CRT SDK」,安装完成后重启VS重新编译。
- 如果手动修改过项目包含目录,可在属性页的「VC++目录」→「包含目录」下拉框中选择「重置」,恢复默认配置后重新编译。
内容的提问来源于stack exchange,提问作者Mohammad
相关产品推荐
相关产品推荐

