> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Visual Studio 2019 GDK 지원 정보

> Visual Studio 2019 Microsoft Game Development Kit (GDK) 지원 정보

이 문서에서는 Visual Studio 2019용 Microsoft Game Development Kit (GDK) 지원에 대해 설명합니다. Visual Studio 2019 [버전 16.11](https://learn.microsoft.com/visualstudio/releases/2019/servicing-vs2019)이 GDK 개발을 지원합니다.

<Note>
  Visual Studio 2019 버전 16.0부터 16.10까지는 2022년 10월부로 지원이 종료되었습니다. 버전 16.11 역시 주 지원(main-stream support)에서 벗어났습니다.
</Note>

## Visual Studio 2019 설치

GDK는 Visual Studio 2019의 **Professional** 에디션 또는 **Enterprise** 에디션을 사용한 개발을 지원합니다. Community 에디션은 지원되지 않습니다. Visual Studio 2019를 설치할 때, 다음 스크린샷과 같이 설정 중에 **C++를 사용한 게임 개발** 워크로드를 선택하세요.

<img src="https://mintcdn.com/microsoft-4404708b/NsRUQ49ZRpXgoZ9R/images/gdk/tools/vs_workloads_game_devlopment.png?fit=max&auto=format&n=NsRUQ49ZRpXgoZ9R&q=85&s=4fb4b71036246e053fa20ee3270bb27b" alt="C++를 사용한 게임 개발 워크로드 대화 상자 스크린샷" width="403" height="84" data-path="images/gdk/tools/vs_workloads_game_devlopment.png" />

게임 개발에 필요한 핵심 C++ 도구 외에도 GDK로 게임을 빌드하는 데 필요한 Windows SDK를 제공하려면 **Windows 10 SDK (22000)** 구성 요소가 설치되어 있는지 확인하세요. *Windows 11용 Windows SDK, 버전 22H2* (10.0.22621) 또는 *Windows 11용 Windows SDK, 버전 24H2* (10.0.26100)도 사용할 수 있지만 필수는 아닙니다.

필수는 아니지만 **C++를 사용한 데스크톱 개발** 워크로드를 설치하면 유용하게 사용할 수 있는 추가 도구와 샘플이 제공됩니다.

MSVC 빌드 도구의 **v142** 버전은 C++를 사용한 게임 개발 워크로드와 함께 설치됩니다.

> Visual Studio 2017 `v141` 도구 세트는 2024년 10월 릴리스부터 더 이상 지원되지 않습니다.

### Windows용 clang/LLVM (ClangCl) 프로젝트 지원

Visual Studio 2019는 Windows 개발용 clang/LLVM도 지원합니다. 이 지원을 사용하려면 개별 구성 요소인 **Windows용 C++ Clang-cl** 및 \*\*v142 빌드 도구용 C++ Clang-cl (x64/x86)\*\*을 설치해야 합니다.

자세한 내용은 [Microsoft Game Development Kit (GDK)](/tools/tools-console/visualstudio/vs-clang) Clang 문서와 [Microsoft Docs](https://learn.microsoft.com/cpp/build/clang-support-msbuild)를 참조하세요.

### Build Tools 에디션

[Build With/Out Install 지침](/build/console-features/build-without-install/withoutinstall-overview)을 따라 Microsoft GDK 헤더, 라이브러리, 도구로 빌드하려면 **Build Tools for Visual Studio 2019**를 사용하세요.

* PlatformToolset `v142`용 Visual C++ 컴파일러를 설치하는 *C++를 사용한 데스크톱 개발* 워크로드를 사용하세요. 이 문서 앞부분의 지침에 따라 `ClangCl` 지원을 위한 구성 요소를 선택할 수도 있습니다.
* Windows SDK를 설치하거나 [NuGet](https://www.nuget.org/packages/Microsoft.Windows.SDK.CPP.x64/) 패키지로 사용하세요.

> Build Tools 에디션은 확장을 지원하지 않으므로 Build 에디션용 Microsoft GDK의 VSIX 패키지를 설치할 수 없습니다. 이러한 제약으로 인해 명령줄 도구는 사용할 수 있지만 배포 및 디버깅은 지원되지 않습니다.

## 기존 Visual Studio 2017 프로젝트를 Visual Studio 2019로 마이그레이션

대부분의 경우 Visual Studio와 함께 제공되는 업그레이드 마법사는 다른 변경 없이 프로젝트를 Visual Studio 2019로 마이그레이션할 수 있습니다. Visual Studio 2019에서 Visual Studio 2017 프로젝트를 열면 업그레이드하라는 다음 **Review Solution Actions** 대화 상자가 표시됩니다. 프로젝트를 업그레이드하려면 **확인**을 선택합니다.

<img src="https://mintcdn.com/microsoft-4404708b/6TXzXmujKayly5Sf/images/gdk/tools/vs_convert_2017_to_2019.png?fit=max&auto=format&n=6TXzXmujKayly5Sf&q=85&s=77e8e2059ed810747afecaea859027a2" alt="Visual Studio 2019에서 Visual Studio 2017 프로젝트에 대한 재대상 지정 옵션을 보여주는 업그레이드 마법사의 Review Solution Actions 대화 상자 스크린샷" width="669" height="371" data-path="images/gdk/tools/vs_convert_2017_to_2019.png" />

빌드 도구를 업그레이드하지 않고 Visual Studio 2019 IDE만 사용할 수도 있습니다. 이렇게 하려면 **Review Solution Actions** 대화 상자에서 **취소**를 선택하세요.

### 프로젝트를 Visual Studio 2019로 수동 업그레이드

프로젝트 파일(.vcxproj)을 직접 편집하여 프로젝트를 업그레이드하려면 다음과 같이 변경합니다.

1. `PlatformToolset`의 모든 인스턴스를 `v141`에서 `v142`로 변경합니다. 다음 예제는 이 변경 방법을 보여줍니다.

```xml theme={null}
    <PlatformToolset>v141</PlatformToolset>
    ...
    <PlatformToolset>v142</PlatformToolset>
```

1. 프로젝트를 다시 빌드합니다.

## 특정 버전 사용

기본적으로 Visual Studio Installer는 항상 최신 릴리스를 다운로드합니다. Enterprise 환경에서는 오프라인 레이아웃을 사용하여 특정 버전을 제어할 수 있습니다. 자세한 내용은 [Visual Studio 배포 업데이트 제어](https://learn.microsoft.com/visualstudio/install/controlling-updates-to-visual-studio-deployments)를 참조하세요. 이 문서에서는 **VS notification** 아이콘을 제거하는 방법에 대한 정보도 제공합니다.

특정 버전의 Visual Studio 2019는 [Visual Studio 2019 Releases](https://learn.microsoft.com/visualstudio/releases/2019/history)에서 다운로드할 수 있습니다.

## 알려진 문제

* DirectXMath `*IsNan` 함수는 `/fp:fast`로 빌드된 경우 Visual Studio 2019에서 실패할 수 있습니다. 해결책은 Visual Studio 2019 (16.3 이상)를 사용하는 것입니다. 그렇지 않은 경우 해당 함수 주위에 `#pragma float_control` 문을 배치하여 해결할 수 있습니다.
* GDK 개발에는 64비트 네이티브 컴파일러 도구 세트만 지원됩니다. Visual C++ `vcxproj`에서 globals 속성에 이 도구 세트를 설정합니다.

```xml theme={null}
<PropertyGroup Label="Globals">
  <PreferredToolArchitecture>x64</PreferredToolArchitecture>
</PropertyGroup>
```

* v11 이전의 Windows용 clang/LLVM 버전에서는 사전 컴파일된 헤더에 알려진 문제가 있습니다. PCH 및 C++ 템플릿 사용에 따라 성공적으로 빌드하려면 `-fno-pch-instantiate-templates`를 추가해야 할 수도 있습니다.
* [Microsoft Update를 통해 제공되는 .NET Core 2.1 업데이트](https://devblogs.microsoft.com/dotnet/net-core-updates-coming-to-microsoft-update/)로 인해 GDK 설치가 차단될 수 있습니다. 이 문제에 대한 자세한 내용은 [.NET Core 2.1 지원 종료 알림](https://devblogs.microsoft.com/dotnet/net-core-2-1-will-reach-end-of-support-on-august-21-2021/)을 참조하세요. 이 문제를 해결하려면:
  * Visual Studio Installer 실행
  * Visual Studio 2019에 대한 **수정** 버튼 선택
  * **개별** 구성 요소 탭을 선택하고 [.NET Core 2.1 Runtime (LTS) 구성 요소](https://learn.microsoft.com/visualstudio/install/workload-component-id-vs-enterprise) 제거
  * GDK 제거 및 재설치 다시 시도

## 버그 보고

**Visual C++ 컴파일러**에 대한 버그는 가능하면 Visual Studio \_Report a Problem...\_을 통해 보고하세요. [Microsoft Docs](https://learn.microsoft.com/visualstudio/ide/how-to-report-a-problem-with-visual-studio)와 [Developer Community](https://aka.ms/feedback/report?space=62) 웹사이트를 참조하세요. 컴파일러에 대한 좋은 버그 보고서 작성 방법에 대한 자세한 내용은 [이 페이지](https://aka.ms/compilerbug)를 참조하세요.

<Note>
  이슈를 재현하는 데 다른 NDA 정보가 필요한 경우 "Microsoft only"로 표시된 공개 보고 이슈에 댓글을 추가할 수 있습니다.
</Note>

**Windows용 clang/LLVM 컴파일러**에 대한 버그 보고는 [https://bugs.llvm.org/](https://bugs.llvm.org/)를 사용하세요.

**Microsoft Standard C++ Library**(STL이라고도 함)에 대한 버그 보고는 [https://github.com/microsoft/STL/issues](https://github.com/microsoft/STL/issues)를 사용하세요.

에스컬레이션이 필요한 중요한 문제는 언제든지 \_Microsoft 담당자\_에게 문의하세요.

## 참고 항목

[Visual Studio](/tools/tools-console/visualstudio/visualstudio) [Visual Studio 제품 수명 주기 및 서비싱](https://learn.microsoft.com/visualstudio/releases/2019/servicing-vs2019)
