Використання попередньо складеного заголовка (pch) - це двоетапний процес.
На першому кроці ви компілюєте файл заглушки (у VS200x його зазвичай називають stdafx.cpp
. Використовуються новіші версії pch.cpp
). Цей файл заглушки опосередковано включає лише заголовки, які ви хочете попередньо скласти. Як правило, один невеликий заголовок (як правило, stdafx.h
або pch.hpp
) містить перелік стандартних заголовків, таких як <iostream>
і <string>
, і він включається у файл заглушки. Компілюючи це, створюється файл .pch.
На кроці 2 ваш фактичний вихідний код включає той же маленький заголовок з кроку 1, що і перший заголовок. Компілятор, стикаючись із цим спеціальним заголовком, замість цього читає відповідний .pch-файл. Це означає, що не потрібно (повторно) збирати ці стандартні заголовки кожен раз.
У вашому випадку, схоже, крок 1 не вдається. Файл заглушки все ще присутній? У вашому випадку це, мабуть, було б xxxxx.cpp
. Це повинен бути файл, який компілюється /Yc:xxxxx.pch
, оскільки це прапор компілятора, щоб вказати, що це етап 1 процесу PCH. Якщо xxxxx.cpp
є, і є такий файл заглушки, то, ймовірно, відсутній його /Yc:
варіант компілятора.