winsock2.h 와 windows.h 와의 중복 포함 문제,
Visual Studio 2010. 5. 26. 19:57내 노트북에 VS2008 (SDK 6.0A 자동 설치) 설치이후 처음으로 winsock 관련 작업 후,
컴파일 시키니,
c:\program files\microsoft sdks\windows\v6.0a\include\ws2def.h(91) : warning C4005: 'AF_IPX' : 매크로 재정의
1> c:\program files\microsoft sdks\windows\v6.0a\include\winsock.h(460) : 'AF_IPX'의 이전 정의를 참조하십시오.
...
1>c:\program files\microsoft sdks\windows\v6.0a\include\ws2def.h(384) : error C2143: 구문 오류 : '}'이(가) '상수' 앞에 없습니다.
....
윈속 헤더파일내의 재정의 문제로 많은 오류가 발생했다.
아래 링크처럼, stdafx.h 헤더 파일내에 winsock2.h 선언후 windosws.h 선언하니 해결!
#include <winsock2.h>
#include <windows.h>
혹은, 아래 URL에 언급된 방법처럼
#define _WINSOCKAPI_
#include <windows.h>
#include <winsock2.h>
처럼 하니 해결, 이것도 방법임.
http://social.msdn.microsoft.com/Forums/en/windowssdk/thread/4a90b143-1fb8-43e9-a54c-956127e0c579
전처리기에 WIN32_LEAN_AND_MEAN 추가도 시도해 볼것 (stdafx.h 에 #define 정의도 가능하나, 전처리기에 추가가 확실)
컴파일 시키니,
c:\program files\microsoft sdks\windows\v6.0a\include\ws2def.h(91) : warning C4005: 'AF_IPX' : 매크로 재정의
1> c:\program files\microsoft sdks\windows\v6.0a\include\winsock.h(460) : 'AF_IPX'의 이전 정의를 참조하십시오.
...
1>c:\program files\microsoft sdks\windows\v6.0a\include\ws2def.h(384) : error C2143: 구문 오류 : '}'이(가) '상수' 앞에 없습니다.
....
윈속 헤더파일내의 재정의 문제로 많은 오류가 발생했다.
아래 링크처럼, stdafx.h 헤더 파일내에 winsock2.h 선언후 windosws.h 선언하니 해결!
#include <winsock2.h>
#include <windows.h>
혹은, 아래 URL에 언급된 방법처럼
#define _WINSOCKAPI_
#include <windows.h>
#include <winsock2.h>
처럼 하니 해결, 이것도 방법임.
http://social.msdn.microsoft.com/Forums/en/windowssdk/thread/4a90b143-1fb8-43e9-a54c-956127e0c579
전처리기에 WIN32_LEAN_AND_MEAN 추가도 시도해 볼것 (stdafx.h 에 #define 정의도 가능하나, 전처리기에 추가가 확실)