2011-08-23 5 views
1

Charles Petzold의 프로그래밍 창을 읽었습니다. 5 판. 그리고 Windows.h 파일에 성명이 있습니다.VS2005의 Winnt.h 파일은 어디에 있습니까?

고 말했다.

Windows.h 파일에 포함 된 WINNT.H 파일이 있습니다.

그리고 WINNT.H 파일은 유니 코드 지원을 정의하는 데 사용됩니다.

그러나 Visual Studio 8.0 Windows.h 파일에서 찾을 수 없습니다.

VS 8.0의 Windows.h에 파일 (WINNT.H)이 없습니다. 유니 코드 지원 기능을 어떻게 구현할 수 있습니까?

+2

paulsm4가 언급 했으므로 이미 winnt.h가 있어야합니다. 그러나 어쨌든 Microsoft 다운로드 센터에서 최신 Windows SDK를 구해서 VS2005에 포함 된 이전 버전의 헤더 파일 대신이 헤더 파일을 사용해야합니다. –

답변

1

Visual Studio의 Visual C++ 구성 요소가 설치되어 있으면 (즉, .cpp 파일을 컴파일 할 수있는 경우) WINNT.H가 있습니다. Windows.h (암시 적으로 # 모든 Win32 대상에 대해 #include의 WINNT.H 포함).

MSVS 설치 디렉토리에 "\ includes"아래에 있어야합니다.

이전 버전의 MSVS에서는 8 비트 ASCII가 기본값 이었으므로 명확하게 "#define _UNICODE"(예 : 컴파일 옵션)를 지정해야했습니다. 최신 버전 (MSVS2005부터 시작하지만 MSVS2008 및 MSVS2010에서는 현재 확실합니다), 16 비트 유니 코드가 기본값입니다.

+0

안녕하세요, 내 winnt.h 내 포함 폴더에 찾으십시오. 그러나 나는 아직도 windows.h가 winnt.h를 포함하는 방법을 혼란스러워했다. 이후 나는 '#include '의 줄을 내 windows.h에서 찾지 못했습니다. 감사. –

+0

사과 - 나쁘다. DOS/Win3.0 Watcom과 Borland에서 MSVS2010까지 수백만 가지의 컴파일러가 있습니다. Winnt.h USED는 OLD Win 3.0 및 Win98 컴파일러와 함께 제공됩니다. 그것은 windef.h를 통해 windows.h에서 호출되도록 USED되었습니다. 현재 플랫폼 SDK의 경우에만 필요합니다. MSVS 2005 이상에서는 필요하지 않습니다. win.h를 사용하는 windows.h 만 사용하면 문제가 없습니다. Petzold 예제는 변경되지 않고 작동해야합니다. winnt.h 대신 windows.h 만 있으면됩니다. 혼란을 가져 미안합니다 ... – paulsm4

관련 문제