Visual Studio 2017 PCH 没有改进构建时间
Visual Studio 2017 PCH doesn't improve build time
我为一个项目启用了PCH。将所有常用的 headers(来自 C++ std lib 和 boost)添加到 stdafx.h
,添加 stdafx.cpp
并在其中包含 stdafx.h
。我在stdafx.cpp
的属性中选择了Create
,在项目设置中选择了Use
。我还在 /FI
选项中添加了 stdafx.h
- 以避免在每个单元中包含 stdafx.h
。
当我重建整个项目时,它首先符合 stdafx.cpp
并且很快符合其他 *.cpp
文件 - 没问题,而且似乎可以正常工作。但是,如果我更改一个文件然后构建项目,与重建整个项目相比,重新编译该单个文件需要花费很多时间,所以 PCH 似乎不起作用,或者它重建 PCH 文件,或者什么?
我做错了什么?
问题出在 /FI 选项中,当我在每个 cpp 文件中明确包含 stdafx.h
时,问题就消失了。
我为一个项目启用了PCH。将所有常用的 headers(来自 C++ std lib 和 boost)添加到 stdafx.h
,添加 stdafx.cpp
并在其中包含 stdafx.h
。我在stdafx.cpp
的属性中选择了Create
,在项目设置中选择了Use
。我还在 /FI
选项中添加了 stdafx.h
- 以避免在每个单元中包含 stdafx.h
。
当我重建整个项目时,它首先符合 stdafx.cpp
并且很快符合其他 *.cpp
文件 - 没问题,而且似乎可以正常工作。但是,如果我更改一个文件然后构建项目,与重建整个项目相比,重新编译该单个文件需要花费很多时间,所以 PCH 似乎不起作用,或者它重建 PCH 文件,或者什么?
我做错了什么?
问题出在 /FI 选项中,当我在每个 cpp 文件中明确包含 stdafx.h
时,问题就消失了。