共用方式為


編譯器警告 (層級 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 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

如需相關資訊,請參閱