Sử dụng Preeriled Header (pch) là một quá trình gồm hai bước.
Ở bước một, bạn biên dịch một tệp sơ khai (Trong VS200x, nó thường được gọi stdafx.cpp
. Các phiên bản mới hơn sử dụng pch.cpp
.). Tệp sơ khai này gián tiếp chỉ bao gồm các tiêu đề bạn muốn được biên dịch trước. Thông thường, một tiêu đề nhỏ (thường stdafx.h
hay pch.hpp
) danh sách tiêu đề chuẩn như <iostream>
và <string>
, và sau đó này được bao gồm trong các tập tin còn sơ khai. Biên dịch này tạo ra tệp .pch.
Trong bước 2, mã nguồn thực tế của bạn bao gồm cùng một tiêu đề nhỏ từ bước 1 như tiêu đề đầu tiên. Trình biên dịch, khi nó gặp tiêu đề đặc biệt này, thay vào đó sẽ đọc tệp .pch tương ứng. Điều đó có nghĩa là nó không phải (biên dịch lại) các tiêu đề đó mỗi lần.
Trong trường hợp của bạn, có vẻ như bước 1 thất bại. Là tập tin sơ khai vẫn còn hiện diện? Trong trường hợp của bạn, điều đó có thể sẽ được xxxxx.cpp
. Nó phải là một tệp được biên dịch cùng /Yc:xxxxx.pch
, vì đó là cờ trình biên dịch để chỉ ra đó là bước 1 của quy trình PCH. Nếu xxxxx.cpp
có, và là một tệp sơ khai như vậy, thì có lẽ nó thiếu /Yc:
tùy chọn trình biên dịch.