我了解预编译标头背后的目的和原因。但是,在实施时有什么规则呢?据我了解,它是这样的:
- 将您的项目设置为使用带有 YU 指令的预编译头文件。
- 创建您的 stdafx.h 文件并将其设置为您的预编译头文件。
- 将此作为每个 .h 文件中的顶部包含语句包含在内。
这对吗?您是否应该将其排除在预编译头文件中包含的文件中?目前,按照我的直觉,我得到以下编译错误:
错误 C2857:在源文件中找不到使用 /Ycstdafx.h 命令行选项指定的“#include”语句
命令行选项如下:
/Od /I "../External/PlatformSDK/Include" /I ".." /I "../External/atlmfc/Include" /D "_DEBUG" /D "_UNICODE" /D "UNICODE" /Gm / EHsc /RTC1 /MDd /Yc"stdafx.h" /Fp"..\Output\LudoCore\Debug\LudoCore.pch" /Fo"....\Output\LudoCore\Debug\" /Fd".. ..\Output\LudoCore\Debug\vc80.pdb" /W4 /WX /nologo /c /ZI /TP /wd4201 /errorReport:prompt