Dela via


Kompilatorvarning (nivå 1) C4727

"PCH med namnet pch_file med samma tidsstämpel som finns i obj_file_1 och obj_file_2. Använd första PCH.

Anmärkningar

Anmärkning

I Visual Studio 2017 och tidigare kallas den förkompilerade rubriken som standard stdafx.h , och i Visual Studio 2019 och senare kallas den som standard pch.h .

C4727 inträffar vid kompilering av flera kompileringar med /Yc och där kompilatorn kunde markera alla .obj filer med samma .pch-tidsstämpel.

Lös problemet genom att kompilera en källfil med /Yc /c (skapar pch) och de andra kompileras separat med /Yu /c (använder pch) och länkar dem sedan tillsammans.

Example

Så om du gjorde följande och det genererar C4727:

cl /clr /GL a.cpp b.cpp c.cpp /Ycstdafx.h

Du skulle göra följande i stället:

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

Du skulle göra följande i stället:

cl /clr /GL a.cpp /Ycpch.h /c

cl /clr /GL b.cpp c.cpp /Yupch.h /link a.obj

Mer information finns i