編譯器警告 (層級 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
如需相關資訊,請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應