stdafx.h 是 Visual C++ 的预编译头(Precompiled Header, PCH) 默认文件:
不是 C++ 标准的一部分
只属于 MSVC / Visual Studio
用来 加快编译速度
VS2019 的很多 旧模板 / MFC / Win32 项目 默认都会用它。
原因 2:VS2019 新项目默认用的是 pch.h,不是 stdafx.h
原因:
Windows和MFC的include文件都非常大,即使有一个快速的处理程序,编译程序也要花费相当长的时间来完成工作。
由于每个.CPP文件都包含相同的include文件,为每个.CPP文件都重复处理这些文件就显得很傻。
打开stdafx.h文件,如下:
stdafx.cpp文件:
#include "stdafx.h"
说明你的工程里没有stdafx.h这个文件
这个是用来支持预编译头等功能,如果你用vs创建c++工程,他会帮你默认生成一个。
解决办法:
解决VS2010子目录中的.cpp文件引用上一级目录的stdafx.h找不到定义的问题
由于stdafx.h文件的特殊性,不能直接使用#include “../stdafx.h”方法解决,通过网上查找资料,发现以下方法可以解决问题,
属性->配置属性->C/C++->常规->附加包含目录
添加$(ProjectDir),此时在进行编译就不会出现找不到stdafx.h的错误了。查看Macro,得知$(ProjectDir)就是指向 Source目录的路径,而stdafx.h文件就在该目录下
F:\stock\TskingVS2019\src\Client\StkUI\
