본문으로 바로가기

afxv_w32.h(16) : fatal error C1189: #error : WINDOWS.H already included. MFC apps must not #include <windows.h>

MFC 를 쓰지 않는 프로젝트에 MFC 함수를 쓰려고 헤더를 include 시키면 위와 같이 에러가 나는데 주로 “afx” 로 시작되는 파일들이 이미 windows.h를 포함하고 있어서
문제가 발생한다 이 문제를 해결 하려면 .

  • 추가하는 헤더 파일 앞에   #undef _WINDOWS_ 를 추가해주면 에러를 없앨 수 있다.
    프로젝트에서 stdAfx.h 를 열어보면 #include  <windows.h> 가 이미 정의 되어있기 때문에 에러가 발생하는 것이다

  • “stdAfx.h”에 추가 할 경우 stdafx.h을 열어서 #include  <windows.h> 내가 사용하고자 하는
    #include  <afx---.h > 를 #include  <windows.h> 위로 옮기거나
    #include  <windows.h> 를 삭제 한다.