2009-06-19 9 views

risposta

28

Provare ad attivare "Mostra Include" nelle impostazioni del progetto (C/C++ -> Avanzate). Questo spettacolo vi darà un'indicazione di quali file di intestazione sono inclusi e in quale ordine - si dovrebbe essere in grado di risalire da lì

1

In primo luogo, vedere che cosa unità di traduzione (file cpp) è stato compilato quando l'errore si è verificato (vedi registro di costruzione).

Quindi ... è possibile controllare i file di intestazione inclusi da quel file cpp, cercando <windows.h>.

È inoltre possibile cercare in tutti i file di progetto per verificare se è incluso nel codice.

Se si utilizzano altre librerie di terze parti che includono l'intestazione windows.h, potrebbe essere necessario modificare l'ordine di inclusione di tali file di intestazione e intestazioni MFC.

25

Cambiare l'ordine comprendono, e comprendono AFX < intestazioni> prima degli altri

+1

Grazie, questo ha funzionato per me –

1

check probabilmente Windows.h potrebbe essere incluso nel file stdafx.h. In tal caso, quindi commentare Windows.h e quindi verificare, l'errore potrebbe essere disattivato. Perché ho avuto lo stesso problema che risolvo nello stesso modo.

+0

cattiva idea di pasticciare con i file di Windows senza una buona ragione – CyprUS

+4

@CyprUS: stdafx.h non è un file di Windows. È tuo. – EFraim

Problemi correlati