为什么我需要在C ++中的所有文件的预编译的头?(Why do I need to include

2019-09-18 03:51发布

如果我不包括即使在一个空的.cpp的stdafx,我得到这个错误

fatal error C1010: unexpected end of file while looking for precompiled header. Did you forget to add '#include "StdAfx.h"' to your source?

为什么我需要包括它即使是在虚拟的文件?

Answer 1:

如果你使用它们,则必须包括他们。 但是你可以在项目属性将其关闭。

但是,要使用他们推荐的方法是在命令行中“强制列入” PCH,以便该文件本身不包含PCH。 这样,源文件可以与其他系统兼容。



Answer 2:

您可以禁用每个翻译单元预编译头(在一个给定的CPP文件的属性)。 你也许可以做到每个项目也一样,如果你愿意去探索的配置界面。 并非所有的项目类型指定一个PCH要么; 它只是微软的标准方式。

我从来没有遇到过他们的Microsoft土地之外,故“C ++”是有点过一般!



文章来源: Why do I need to include the precompiled header in all the files in C++?