Использование предварительно скомпилированного заголовка (pch) представляет собой двухэтапный процесс.
На первом этапе вы компилируете файл-заглушку (в VS200x он обычно называется stdafx.cpp
).Этот стаб-файл косвенно включает в себя только те заголовки, которые вы хотите предварительно скомпилировать.Как правило, один маленький заголовок (обычно stdafx.h
) содержит список стандартных заголовков, таких как <iostream>
и <string>
, и он затем включается в файл-заглушку.Компиляция создает файл .pch.
На шаге 2 ваш фактический исходный код содержит тот же маленький заголовок из шага 1, что и первый заголовок.Компилятор, когда он встречает этот специальный заголовок, вместо этого читает соответствующий файл .pch.Это означает, что он не должен (пере) компилировать эти стандартные заголовки каждый раз.
В вашем случае кажется, что шаг 1 не выполняется.Заглушка все еще присутствует?В вашем случае это, вероятно, будет xxxxx.cpp
.Это должен быть файл, скомпилированный с /Yc:xxxxx.pch
, так как это флаг компилятора, указывающий, что это первый шаг процесса PCH.Если присутствует xxxxx.cpp
и такой файл-заглушка, то, вероятно, ему не хватает опции компилятора /Yc:
.