본문 바로가기

Papers/C/C++

Windows XP에서 Visual Studio 2008 설치 후 나타나는 컴파일 에러


PROBLEMS
Windows XP에서 Visual Studio 2008을 사용하기 위해 인스톨을 하고 빌드를 하면 다음과 같은 에러를 볼 수 있다.

" C:\program files\microsoft visual studio 9.0\vc\atlmfc\include\afxwin.h(26) : fatal error C1189: #error :  Your version of the Windows SDK is earlier than 6.0. Try setting the 'WINVER' and '_WIN32_WINNT' definitions in your project to less than 0x0600. "

WHY?
이유는 Visual Studio 2008 부터 만든 프로그램을 실행 시키기 위한 플랫폼 버전으로 운영체제는 Vista, IE는 7.0을  default 값으로 세팅되어 있기 때문이다.


SOLUTIONS
해결방법은 솔루션을 생성한 디렉토리에 보면 targetver.h 이라는 파일을 열어 아래와 같이 변경해 준다.

// Windows XP
#define WINVER 0x0501
#define _WIN32_WINNT 0x0501


XP 이외에 다른 운영체제는 아래를 참고 한다.
// Windows Server 2003
#define WINVER 0x0502
#define _WIN32_WINNT 0x0502

// Windows Vista
#define WINVER 0x0600
#define _WIN32_WINNT 0x0600

// Windows 7
#define WINVER 0x0601
#define _WIN32_WINNT 0x0601

'Papers > C/C++' 카테고리의 다른 글

void pointer vs null pointer  (0) 2010.08.12
Stack ADT(Abstract Data Type)  (0) 2010.06.20
스택과 큐의 용도  (0) 2010.04.06