Visual C++ 2008 Feature Pack 사용시 오류

반응형

출처 : http://blog.naver.com/astrya/140051681865

Feature pack 설치 후

최초 실행시 지정된 파일을 찾을 수 없다는 에러가 나올 수 있다..

 

아마도 eror C1189 를 뿌릴것이다. 한글판 메세지는 모르겠다.. 현재는 영문판만 FP가 지원되니..

"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."

 

 

이 현상은 stdafx.h 에 아래 두줄 추가로 해결이 된다.

 

#define WINVER 0x0501
#define _WIN32_WINNT 0x0501

 

2008부터는 Default 로 0x0600값으로 define 되기 때문이다.

 

targetver.h 파일을 살펴보면 아래와 같은 내용으로 되어 있다.

#ifndef WINVER                          // 필요한 최소 플랫폼을 Windows Vista로 지정합니다.
#define WINVER 0x0600           // 다른 버전의 Windows에 맞도록 적합한 값으로 변경해 주십시오.
#endif

#ifndef _WIN32_WINNT            // 필요한 최소 플랫폼을 Windows Vista로 지정합니다.
#define _WIN32_WINNT 0x0600     // 다른 버전의 Windows에 맞도록 적합한 값으로 변경해 주십시오.
#endif

#ifndef _WIN32_WINDOWS          // 필요한 최소 플랫폼을 Windows 98로 지정합니다.
#define _WIN32_WINDOWS 0x0410 // Windows Me 이상에 맞도록 적합한 값으로 변경해 주십시오.
#endif

#ifndef _WIN32_IE                       // 필요한 최소 플랫폼을 Internet Explorer 7.0으로 지정합니다.
#define _WIN32_IE 0x0700        // 다른 버전의 IE에 맞도록 적합한 값으로 변경해 주십시오.
#endif

 

보다시피 targetver.h 파일을 수정해도 된다. 그냥 난 익숙한 stdafx.h에 추가를 해버렸다..

중요한건 무작정 변경하는게 아니라 최소 플랫폼을 무엇으로 할것인가를 생각해야한다는 것이다.

 

참고: WINVER 0x0500 보다 크면 Win2000이상이라는 뜻이다.


TAGS.

Comments