본문 바로가기

프로그래밍/MFC

VC++ 6.0 에서 winuser.h 참조관련 에러 대처법





INPUT구조체등 일부 winuser.h 관련 구문을 사용할 때 제대로 컴파일이 되지 않는 경우가 있습니다.

개인적인 경험으로는 Windows XP에서 VC 6.0을 쓸 때 나오는 것 같네요.

이럴 때의 대처법으로 소스에 #define 문으로 _WIN32_WINNT 0x0500 을 해주는 것이 널리 알려져 있으나,

헤더파일이 복잡해지고 참조하는 소스가 많아지면 이상하게 꼬여서 잘 안 될 때가 있습니다.

그 땐 그냥 간단히, Project->Settings->C/C++의 General 카테고리를 보면 아래쪽에

Preprocessor definitions가 있습니다.

그 칸의 맨 마지막에 다음을 추가해줍니다.

_WIN32_WINNT=0x0500

 (물론 항목 구분자인 쉼표는 찍어주셔야겠죠)

 이렇게 되면 저 정의가 프로젝트의 모든 컴파일에 먹히므로 문제가 발생하지 않습니다.

 

출처 : 데브피아