編譯器警告 (層級 1) C4727
“在 obj_file_1 和 obj_file_2 中找到相同時間戳的 PCH 名為 pch_file。 使用第一個 PCH。
注意
在 Visual Studio 2017 和更早版本中,先行編譯標頭預設稱為 stdafx.h ,在 Visual Studio 2019 和更新版本中,預設稱為 pch.h 。
C4727 會在使用 /Yc 編譯多個編譯程式時發生,而且編譯程式能夠使用相同的 .pch 時間戳來標記所有.obj檔案。
若要解決,請使用 /Yc /c 編譯一個原始程序檔 (creates pch),而其他人則以 /Yu /c 個別編譯 ,然後使用 pch 將它們連結在一起。
因此,如果您執行下列動作,併產生 C4727:
cl /clr /GL a.cpp b.cpp c.cpp /Ycstdafx.h
您可以改為執行下列動作:
cl /clr /GL a.cpp /Ycstdafx.h /c
cl /clr /GL b.cpp c.cpp /Yustdafx.h /link a.obj
cl /clr /GL a.cpp b.cpp c.cpp /Ycpch.h
您可以改為執行下列動作:
cl /clr /GL a.cpp /Ycpch.h /c
cl /clr /GL b.cpp c.cpp /Yupch.h /link a.obj
如需更多資訊,請參閱