errore C1854: non può sovrascrivere informazioni formata durante la creazione della intestazione precompilata nel file oggetto

StackOverflow https://stackoverflow.com/questions/944429

Domanda

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

Consulenza MSDN su questo mi dà le seguenti informazioni:

  

È stato specificato il / Yu (uso precompilati   intestazione) opzione dopo che specifica il   Yc opzione / (creare intestazione precompilata)   per lo stesso file. Certo   dichiarazioni (come dichiarazioni   compresi dllexport __declspec) fanno   questo non valido.

Stiamo usando dllexport e intestazioni precompilate in questo caso. Avere qualcuno ha incontrato questo prima e sa di qualsiasi soluzione? Qualsiasi fattore far luce su questo problema è molto apprezzato.

Grazie

È stato utile?

Soluzione

Penso che si può trovare la risposta qui: http://social.msdn.microsoft.com/forums/en-US/vclanguage/thread/b3aa10fa-141b-4a03-934c-7e463f92b2a5/

In sostanza, è necessario impostare il file Stdafx.cpp "Crea intestazioni precompilate" e tutti gli altri file cpp per "Usa intestazioni precompilate"

Altri suggerimenti

Ho avuto anche questo problema.

Assicurati che il file di output di intestazione precompilatore è impostata nella posizione corretta. La mia era realmente emesso al posto giusto, ma ci sono stati problemi di lettura solo perché il percorso ha avuto un po 'artefatto dentro.

La mia soluzione era quella di ricontrollare attentamente tutte le impostazioni di intestazione precompilati in non solo il progetto exe, ma tutti i progetti dll anche e ricreare tutte le intestazioni. Dopo che l'errore era andato nella compilazione exe.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top