방프리

17.01.12 왠지 여기 있으면 안될 것 같은 C1189 오류 본문

C++/LnkError관련

17.01.12 왠지 여기 있으면 안될 것 같은 C1189 오류

방프리 2020. 1. 24. 17:33

오류 C1189 #error:  MFC does not support WINVER less than 0x0501.  

Please change the definition of WINVER in your project properties or precompiled header. 라는 오류를 발견하였다. 

 

윈도우 버전이 너무 낮기 때문에 발생하는 에러로 #define WINVER의 값을 수정하면 된다.

* 컴파일러 버전 구분 값

 

1000 : Visual C++ 4.x            (4.0)

1100 : Visual C++ 5              (5.0)

1200 : Visual C++ 6              (6.0)

1300 : Visual C++ .NET          (7.0)

1310 : Visual C++ .NET   2003  (8.0)

1400 : Visual C++ .NET   2005  (8.0)

1500 : Visual C++ .NET   2008  (9.0)

1600 : Visual C++ 2010          (10.0)

1700 : Visual C++ 2012          (11.0)

 

사용 예)

#if _MSC_VER == 1500

 

#endif

 

* OS 버전 설정 구분 값

 

Minumum system required              Macros to define

 

Windows Vista                        _WIN32_WINNT >= 0x600 , WINVER >= 0x0600

 

Windows Server 2003                 _WIN32_WINNT >= 0x502 , WINVER >= 0x0502

 

Windows XP                          _WIN32_WINNT >= 0x0501 , WINVER >= 0x0501

      

Windows 2000                         _WIN32_WINNT >= 0x0500 , WINVER >= 0x0500

 

Windows NT 4.0                       _WIN32_WINNT >= 0x0400 , WINVER >= 0x0400

 

Windows Me                          _WIN32_WINNT >= 0x0500 , WINVER >= 0x0500

 

Windows 98                           _WIN32_WINNT >= 0x0410 , WINVER >= 0x0410

 

Windows 95                           _WIN32_WINNT >= 0x0400 , WINVER >= 0x0400

Comments