最近有朋友在编译我提供的【Visual C++】游戏开发某一节笔记的源代码的时候,提到出现 “fatal error C1083:
无法打开包括文件:“StdAfx.h”这个错误。这里我专门找了点资料,然后部分修改,写成了一篇博文发出来,希望能对出现这个问题的朋友们有所帮助。
这个错误大都是由于预编译头文件及#include<stdafx.h>这两者的关系纠缠不清引起的,呵呵。
这里我们采用vs2010讲解,其他版本其实操作方案也差不多。
1、如果在Visual C++工程的.cpp文件中包含了代码#include<stdafx.h>,则工程就需要将属性设置为:“使用预编译头”,具体方案是对“资源管理器”里的工程右击->【属性】->【配置属性】->【C/C++】->【预编译头】,然后【创建/使用预编译头】选择“使用”
具体操作可以看我截的图:

2、如果.cpp文件里包含了stdafx.h文件,设置为“不使用预编译头”,可能会编译就出现错误的,
fatal error C1083: 无法打开包括文件:“StdAfx.h”: No such file or directory,
所以设置为“创建预编译头”,或者设置为“使用预编译头”。
3、如果出现下面错误: fatal error C1010: 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include “stdafx.h””?
则表示没有包含stdafx.h文件,设置为”不使用预编译头“即可。
4、因为最近做了matlab与vc混编,所以,生成了.c文件,.c文件是不能使用预编译头的,如果让这样的文件“使用预编译头”,会出现下面错误的:
“Debug\SMMS.pch”预编译头文件来自编译器的早期版本,或者预编译头为 C++ 而在 C 中使用它(或相反)
所以,在.c文件右键->【属性】->"不使用预编译头“。注意只是此文件的属性。
本文部分转自 http://apps.hi.baidu.com/share/detail/53843944
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)