1)單獨編譯StdAfx.cpp
2)編譯所有(即按Ctrl+F7)
這時因為該模塊沒有包括預編譯頭文件“stdafx.h”的緣故。
VC用一個stdafx.cpp包含頭文件stdafx.h,然后在stdafx.h里包含大部分系統頭文件,這
樣編譯時VC就通過編譯stdafx.cpp把大部分系統頭文件預編譯進來了,在Debug目錄下有
一個很大的文件*.pch,這里就存儲了預編譯信息。
根據這個原理,如果這個pch損壞了或被刪除了,系統重新編譯時就會抱怨“cannot open
precompiled header file debug/*.pch”。這時怎么解決這個問題呢,打開Project-》
Setting對話框選C++頁,將Category下拉式列表框選中Precompiled Headers,最簡單的
辦法就是選中第一個選項“Not using....",這樣就根本不用預編譯頭也不去尋找pch文件,
就不會出錯了,但是這樣做的后果是每次編譯、連接都化更多的時間。
也可以選第二個選項”Automatic ...",然后在“Through header”力填上stdafx.h,這樣
如果沒有pch文件系統會自動生成一個pch,如果有的話就使用這個pch,這個選項是比較“
智能”的。
第三個選項是強行創建一個pch文件,第四個選項是直接使用pch文件。當然“Through
headers”里都填stdafx.h了。