c++ visual-studio precompiled-headers dllexport

c++ - error C1854: no se puede sobrescribir la información formada durante la creación del encabezado precompilado en el archivo objeto



visual-studio precompiled-headers (3)

Creo que puede encontrar la respuesta aquí: http://social.msdn.microsoft.com/forums/en-US/vclanguage/thread/b3aa10fa-141b-4a03-934c-7e463f92b2a5/

Básicamente, debe configurar el archivo stdafx.cpp en "Crear encabezados precompilados" y todos los demás archivos .cpp en "Usar encabezados precompilados"

foo.cpp(33918) : fatal error C1854: cannot overwrite information formed during creation of the precompiled header in object file: ''c:/somepath/foo.obj''

Consultando a MSDN sobre esto me da la siguiente información:

Especificó la opción / Yu (usar encabezado precompilado) después de especificar la opción / Yc (crear encabezado precompilado) para el mismo archivo. Ciertas declaraciones (como las declaraciones que incluyen __declspec dllexport) hacen que esto no sea válido.

Estamos utilizando dllexport y encabezados precompilados en este caso. ¿Alguien ha encontrado esto antes y sabe de alguna solución? Cualquier entrada para arrojar algo de luz sobre este problema es muy apreciada.

Gracias


Mi solución fue volver a verificar cuidadosamente todas las configuraciones del encabezado precompilado no solo en el proyecto .exe sino también en todos los proyectos dll y recrear todos los encabezados. Después de eso el error se fue en la compilación .exe.


Yo tuve este problema también.

Asegúrese de que el archivo de salida del encabezado del precompilador esté configurado en la ubicación correcta. El mío en realidad se envió al lugar correcto, pero hubo problemas para leerlo solo porque el camino tenía un pequeño artefacto en el interior.