Partager via


Avertissement du compilateur (niveau 1) C4727

« PCH nommé pch_file avec le même horodatage trouvé dans obj_file_1 et obj_file_2. Utilisation du premier PCH.

Remarque

Dans Visual Studio 2017 et versions antérieures, l’en-tête précompilé est appelé stdafx.h par défaut, et dans Visual Studio 2019 et versions ultérieures, il est appelé pch.h par défaut.

C4727 se produit lors de la compilation de plusieurs compilations avec /Yc, et où le compilateur a pu marquer tous les fichiers .obj avec le même horodatage .pch.

Pour résoudre ce problème, compilez un fichier source avec /Yc /c (crée un pch) et les autres se compilent séparément avec /Yu /c (utilise pch), puis liez-les ensemble.

Par conséquent, si vous avez effectué les opérations suivantes et qu’elle génère l’erreur C4727 :

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

Vous devez effectuer les opérations suivantes à la place :

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

Vous devez effectuer les opérations suivantes à la place :

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

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

Pour plus d'informations, consultez la rubrique