Windows XP용 프로그램 구성

Visual Studio는 여러 플랫폼 도구 집합을 지원합니다. 즉, 기본 도구 집합에서 지원하지 않는 운영 체제 및 런타임 라이브러리를 대상으로 지정할 수 있습니다. 예를 들어 플랫폼 도구 집합을 전환하면 Visual Studio 2017 C++ 컴파일러를 사용하여 Windows XP 및 Windows Server 2003을 대상으로 하는 앱을 만들 수 있습니다. 또한 이전 플랫폼 도구 집합을 사용하여 이진 호환 레거시 코드를 유지하면서도 Visual Studio IDE의 최신 기능을 활용할 수 있습니다.

Visual Studio 2019 이상에 제공된 도구 집합에는 Windows XP용 코드를 만들기 위한 지원이 포함되어 있지 않습니다. Visual Studio 2017 v141_xp 도구 집합을 사용하여 Windows XP 개발에 대한 지원을 이용할 수 있습니다. Visual Studio 설치 관리자에서 개별 구성 요소 옵션으로 v141_xp 도구 집합을 설치할 수 있습니다.

Windows XP 플랫폼 도구 집합 설치

Windows XP 및 Windows Server 2003을 대상으로 하는 Visual Studio 2017 플랫폼 도구 집합과 구성 요소를 얻으려면 Visual Studio 설치 관리자를 실행합니다. Visual Studio를 처음 설치할 때 또는 기존 설치를 수정할 때 C++를 사용한 데스크톱 개발 워크로드를 선택해야 합니다. 이 워크로드에 대한 선택적 구성 요소 목록에서 C++용 Windows XP 지원을 선택한 다음, 설치 또는 수정을 선택합니다.

Windows XP 및 Windows Server 2003을 대상으로 하는 v141_xp 플랫폼 도구 집합과 구성 요소를 얻으려면 Visual Studio 설치 관리자를 실행합니다. Visual Studio를 처음 설치할 때 또는 기존 설치를 수정할 때 C++를 사용한 데스크톱 개발 워크로드를 선택해야 합니다. 개별 구성 요소 탭의 컴파일러, 빌드 도구 및 런타임에서 VS 2017(v141) 도구에 대한 C++ Windows XP 지원[사용되지 않음]을 선택한 다음 설치 또는 수정을 선택합니다.

Windows XP 대상 환경

Visual Studio에 포함되어 있는 Windows XP 플랫폼 도구 집합은 Windows 7 SDK의 한 버전이지만 Visual Studio 2017 C++ 컴파일러를 사용합니다. 또한 프로젝트 속성을 적합한 기본값(예: 하위 수준 대상 지정을 위한 호환 링커의 사양)으로 구성합니다. Windows XP 플랫폼 도구 집합을 사용하여 만든 Windows 데스크톱 앱만 Windows XP 및 Windows Server 2003에서 실행할 수 있습니다. 이러한 앱은 더 최신 Windows 운영 체제에서 실행할 수도 있습니다.

Windows XP를 대상으로 지정하려면

  1. 솔루션 탐색기에서 프로젝트의 바로 가기 메뉴를 열고 속성을 선택합니다.

  2. 프로젝트의 속성 페이지 대화 상자에서 구성 드롭다운을 모든 구성으로 설정합니다.

  3. 구성 속성>일반 속성 페이지를 선택합니다. 플랫폼 도구 집합 속성을 원하는 Windows XP 도구 집합으로 설정합니다. 예를 들어 Visual Studio 2017의 Microsoft C++ 컴파일러를 사용하여 Windows XP 및 Windows Server 2003에 대한 코드를 작성하려면 Visual Studio 2017 - Windows XP(v141_xp)를 선택합니다.

C++ 런타임 지원

Windows XP 플랫폼 도구 집합과 함께 여러 라이브러리에 Windows XP 및 Windows Server 2003에 대한 런타임 지원이 포함되어 있습니다.

  • UCRT(유니버설 C 런타임 라이브러리)
  • C++ 표준 라이브러리
  • ATL(액티브 템플릿 라이브러리)
  • ConcRT(동시성 런타임 라이브러리)
  • PPL(병렬 패턴 라이브러리)
  • MFC(Microsoft Foundation Class) 라이브러리
  • C++ AMP(C++ Accelerated Massive Programming) 라이브러리

이러한 운영 체제에 지원되는 최소 버전은 x86의 경우 Windows XP SP3(서비스 팩 3), x64의 경우 Windows XP SP2(서비스 팩 2)이며 Windows Server 2003 SP2(서비스 팩 2)는 x86/x64 둘 다 지원됩니다.

이러한 라이브러리는 대상에 따라 Visual Studio에서 설치하는 플랫폼 도구 집합을 통해 지원됩니다.

라이브러리 Windows 데스크톱 앱을 대상으로 하는 기본 플랫폼 도구 집합 스토어 앱을 대상으로 하는 기본 플랫폼 도구 집합 Windows XP, Windows Server 2003을 대상으로 하는 Windows XP 플랫폼 도구 집합
CRT X X X
C++ 표준 라이브러리 X X X
ATL X X X
ConcRT/PPL X X X
MFC X X
C++ AMP X X

참고 항목

C++/CLI로 작성되며 .NET Framework 4를 대상으로 하는 앱은 Windows XP 및 Windows Server 2003에서 실행됩니다.

도구 집합 간의 차이점

플랫폼 및 라이브러리 지원의 차이로 인해 Windows XP 플랫폼 도구 집합을 사용하는 앱의 개발 환경은 기본 플랫폼 도구 집합을 사용하는 앱처럼 완전하지 않습니다.

  • C++ 언어 기능

    Visual Studio 2017에서 구현된 C++ 언어 기능만 v141_xp 플랫폼 도구 집합을 사용하는 앱에서 지원됩니다. Visual Studio 2015에서 구현된 C++ 언어 기능만 v140_xp 플랫폼 도구 집합을 사용하는 앱에서 지원됩니다. Visual Studio는 이전 플랫폼 도구 집합을 사용하여 빌드할 때 해당 컴파일러를 사용합니다. 해당 컴파일러 버전에서 구현된 최신 C++ 언어 기능을 활용하려면 최신 Windows XP 플랫폼 도구 집합을 사용하세요. 컴파일러 버전별 언어 기능 지원에 대한 자세한 내용은 Microsoft C/C++ 언어 규칙을 참조하세요.

  • 원격 디버깅

    Windows XP 또는 Windows Server 2003의 원격 디버깅은 Visual Studio용 원격 도구에서 지원하지 않습니다. Windows XP 또는 Windows Server 2003에서 로컬로 또는 원격으로 앱을 디버깅하려면 이전 버전 Visual Studio의 디버거를 사용합니다. 이는 Windows Vista에서 앱을 디버그하는 것과 비슷합니다. Vista는 플랫폼 도구 집합의 ‘런타임’ 대상이지만 ‘원격 디버깅’ 대상은 아닙니다.

  • 정적 분석

    Windows XP 플랫폼 도구 집합은 정적 분석을 지원하지 않습니다. Windows 7 SDK의 SAL 주석과 런타임 라이브러리는 호환되지 않습니다. Windows XP 또는 Windows Server 2003을 지원하는 앱에 대한 정적 분석은 실행할 수 있습니다. 분석을 위해 기본 플랫폼 도구 집합을 대상으로 하도록 솔루션을 일시적으로 전환했다가 다시 Windows XP 플랫폼 도구 집합으로 전환하여 앱을 빌드합니다.

  • DirectX 그래픽 디버깅

    그래픽 디버거는 Direct3D 9 API를 지원하지 않으므로 Windows XP 또는 Windows Server 2003에서 Direct3D를 사용하는 앱을 디버그하는 데 사용할 수는 없습니다. 그러나 앱이 Direct3D 10 또는 Direct3D 11 API를 기반으로 하는 대체 렌더러를 구현하는 경우 그래픽 디버거를 사용하여 문제를 진단할 수 있습니다.

  • HLSL 빌드

    Windows XP 도구 집합은 기본적으로 HLSL 소스 코드 파일을 컴파일하지 않습니다. HLSL 파일을 컴파일하려면 2010년 6월 DirectX SDK를 다운로드하여 설치한 다음 해당 SDK를 포함하도록 프로젝트의 VC 디렉터리를 설정합니다. 자세한 내용은 2010년 6월 DirectX SDK 다운로드 페이지(보관된 링크)의 “DirectX SDK가 Visual Studio 2010에 포함/라이브러리 경로를 등록하지 않음” 섹션을 참조하세요.

Windows XP 배포

Important

SHA-256 코드 서명 인증서를 지원하지 않으므로 Windows XP에 대한 런타임 라이브러리 지원은 Visual Studio 2015, 2017, 2019 및 2022용 최신 Visual C++ 재배포 가능 패키지에서 더 이상 사용할 수 없습니다. Windows XP를 지원하는 마지막 재배포 가능 패키지는 Visual Studio 2019 버전 16.7에서 제공되었습니다. 14.27로 시작하는 파일 버전이 있는 재배포 가능 패키지를 사용하세요. Windows XP 앱이 이후 버전의 재배포 가능 패키지로 배포되거나 업데이트되는 경우 앱이 실행되지 않습니다.

Visual Studio 2019 버전 16.7 이후 버전의 Visual Studio를 사용하는 경우 재배포 가능 파일이 Windows XP에서 작동하지 않습니다. Windows XP를 지원하는 재배포 가능 파일의 복사본을 받으려면 Visual Studio 계정이 필요합니다. Visual Studio에 로그인하는 데 사용하는 계정을 사용하세요. 또는 my.visualstudio.com에서 무료로 계정을 만들 수 있습니다. 재배포 가능 파일은 Visual Studio 2019(버전 16.7)용 Visual C++ 재배포 가능 패키지 같은 다운로드 섹션에서 사용할 수 있습니다. 파일을 다운로드하려면 필요한 플랫폼과 언어를 선택하고 다운로드 단추를 선택합니다.

중앙 배포 또는 로컬 배포를 사용하여 Windows XP 앱에 대한 런타임 라이브러리 지원을 설치할 수 있습니다. 자세한 내용은 연습: Visual C++ 재배포 가능 패키지를 사용하여 Visual C++ 애플리케이션 배포를 참조하세요.