预编译头文件可以在重建项目时节省大量时间,但如果预编译头文件发生更改,则依赖于头文件的每个源文件都将重新编译,无论更改是否影响它。幸运的是,预编译的头文件用于编译,而不是链接;每个源文件不必使用相同的预编译头文件。
pch1.h:
#include <bigHeader1.h>
#include ...
pch1.cpp:
#include "pch1.h"
源1.cpp:
#include "pch1.h"
[code]
pch2.h:
#include <bigHeader2.h>
#include ...
pch2.cpp:
#include "pch2.h"
源代码2.cpp
#include "pch2.h"
[code]
选择pch1.cpp,右键单击,Properties,Configuration Properties,C/C++,Precompiled Headers。
预编译头文件: 创建(/Yc)
预编译头文件: pch1.h
预编译头文件输出文件:$(intDir)pch1.pch
选择source1.cpp
预编译头文件: 使用(/Yu)
预编译头文件: pch1.h
预编译头文件输出文件:$(intDir)pch1.pch(我认为这对 /Yu 无关紧要)
对pch2.cpp和source2.cpp做同样的事情,除了将头文件和头输出文件设置为pch2.h和pch2.pch。这对我行得通。