GSI


VS2003에서 InitializeCriticalSectionAndSpinCount 함수를 사용할려고 적용을 해보면
아래와 같은 컴파일 오류가 생긴다.

...\lock.cpp(50): error C3861: 'InitializeCriticalSectionAndSpinCount': 인수 종속성을 조회해도 식별자를 찾을 수 없습니다.

이런 경우는 window.h 이전에 _WIN32_WINNT의 디파인된 내용이 잘못되서 그런거 같다.

mfc의 경우 stdafx.h의 상단에 보면
#ifndef _WIN32_WINNT  // Windows NT 4 이후 버전에서만 기능을 사용할 수 있습니다.
#define _WIN32_WINNT 0x400   // Windows 98과 Windows 2000 이후 버전에 맞도록 적합한 값으로 변경해 주십시오.
#endif 

이란 부분에 있다.

여기서 0x400 부분을 0x403으로 수정해 주면 해결이 된다.
Posted by gsi
:


c:\gsiproject\영호형회사\rfc\영호형_프로젝트\300.cruise\200.cruisemainproject\unit-module\cruise\network\lock.cpp(46): error C3861: 'InitializeCriticalSectionAndSpinCount': 인수 종속성을 조회해도 식별자를 찾을 수 없습니다.
c:\gsiproject\영호형회사\rfc\영호형_프로젝트\300.cruise\200.cruisemainproject\unit-module\cruise\network\lock.cpp(21): error C3861: 'SwitchToThread': 인수 종속성을 조회해도 식별자를 찾을 수 없습니다.
c:\gsiproject\영호형회사\rfc\영호형_프로젝트\300.cruise\200.cruisemainproject\unit-module\cruise\network\lock.cpp(59): error C3861: 'TryEnterCriticalSection': 인수 종속성을 조회해도 식별자를 찾을 수 없습니다.

위와 같은 오류가 난다면.

#ifndef _WIN32_WINNT  // Windows XP 이상에서만 기능을 사용할 수 있습니다.                  
#define _WIN32_WINNT 0x0501 // 다른 버전의 Windows에 맞도록 적합한 값으로 변경해 주십시오.
#endif
 

이 코드를 stdafx.h의 window.h 선언 위쪽에 추가해 준다.
Posted by gsi
: