Compartir a través de


Advertencia del compilador (nivel 1) C4727

PCH denominado pch_file con la misma marca de tiempo que se encuentra en obj_file_1 y obj_file_2. Se usa el primer PCH.

Nota:

En Visual Studio 2017 y versiones anteriores, el encabezado precompilado se denomina stdafx.h de manera predeterminada y, en Visual Studio 2019 y versiones posteriores, se denomina pch.h de manera predeterminada.

La advertencia C4727 se produce al compilar varios compilados con /Yc y donde el compilador pudo marcar todos los archivos .obj con la misma marca de tiempo .pch.

Para resolverla, compile un archivo de origen con /Yc /c (crea pch), mientras los demás se compilan por separado con /Yu /c (usa pch) y, a continuación, vincúlelos.

Por lo tanto, si hizo lo siguiente y se genera la advertencia C4727:

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

En su lugar, podría hacer lo siguiente:

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

En su lugar, podría hacer lo siguiente:

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

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

Para obtener más información, vea