C1854 de error: no puede sobrescribir la información formada durante la creación de la cabecera precompilado en el archivo de objeto
-
09-09-2019 - |
Pregunta
foo.cpp(33918) : fatal error C1854: cannot overwrite information formed
during creation of the precompiled header in object file: 'c:\somepath\foo.obj'
Consulting de MSDN sobre esto me da la siguiente información:
Se ha especificado el / Yu (uso precompiled cabecera opción) después de especificar el opción / Yc (crear encabezado precompilado) para el mismo archivo. Cierto declaraciones (como declaraciones incluyendo dllexport declspec) hacen esto no es válido.
Estamos utilizando dllexport y encabezados precompilados en este caso. Tiene a nadie encontró esto antes y sabe de alguna solución? Cualquier entrada de arrojar alguna luz sobre este problema es muy apreciada.
Gracias
Solución
Creo que se puede encontrar la respuesta aquí: http://social.msdn.microsoft.com/forums/en-US/vclanguage/thread/b3aa10fa-141b-4a03-934c-7e463f92b2a5/
Básicamente, es necesario configurar el archivo stdafx.cpp a "Crear encabezados precompilados" y todos los demás archivos .cpp a "Use encabezados precompilados"
Otros consejos
he tenido este problema también.
Asegúrese de que el archivo de salida de cabecera precompilador se establece en la ubicación correcta. El mío fue enviada realmente a la ubicación correcta, pero había problemas de lectura que sólo porque el camino tenía un pequeño artefacto en el interior.
Mi solución fue volver a revisar cuidadosamente todos los ajustes de la cabecera precompilados no sólo en el proyecto .exe, pero todos los proyectos DLL también y volver a crear todas las cabeceras. Después de que el error se había ido en la compilación .exe.