Как правило, код приложения MFC включает afx.h
или afxwin.h
(последний включает в себя первый).Первые две строки windows.h
:
#ifndef _WINDOWS_
#define _WINDOWS_
, что означает, что _WINDOWS_
становится определенным, если этот заголовок включен.Afx.h
включает afxver_.h
, и этот заголовок включает afxv_w32.h
, который содержит следующий код:
#ifdef _WINDOWS_
#error WINDOWS.H already included. MFC apps must not #include <windows.h>
#endif
...
#include <windows.h>
Итак, если вы включите windows.h
перед заголовками MFC, вы получите эту ошибку, сгенерированную во время компиляциии, как вы можете видеть, если вы включаете afxwin.h
, вам не нужно включать windows.h
самостоятельно - оно уже будет включено afxv_w32.h
.