본문 바로가기
그래픽스/DirectX 11

[DirectX 11 in Windows 10/11] 1. DirectX 11 최초 실행 환경 세팅하기

by 니키티스 2023. 8. 3.

Windows 10 이후에서 DirectX 11 설치하기

강의 자료: Tutorial 1: Setting up DirectX 11 with Visual Studio 2022 (rastertek.com)

 

Tutorial 1: Setting up DirectX 11 with Visual Studio 2022

Tutorial 1: Setting up DirectX 11 with Visual Studio 2022 Before writing any graphics code we'll need to have the tools to do so. The first of these tools is a compiler that is preferably built into a nice IDE. The one that I use is Visual Studio Community

www.rastertek.com

 

현재에는 Direct3D 프로그래밍을 하려면 Direct SDK 대신 Windows SDK를 사용해야 한다.

Direct SDK를 이용해서 프로그래밍할 수도 있지만, 여기서는 Visual Studio 2022를 사용할 것이므로 Windows SDK를 사용하는 버전으로 진행할 것이다.

일단 Visual Studio 2022를 설치한 후, 다음 과정을 진행하자.

1. Windows SDK 설치하기

Windows SDK - Windows 앱 개발 | Microsoft Developer

 

Windows SDK - Windows 앱 개발

Windows 11용 Windows SDK에는 Windows에서 실행되는 앱을 만들 때 사용할 수 있는 헤더, 라이브러리 및 도구가 포함되어 있습니다.

developer.microsoft.com

여기 있는 링크의 SDK를 설치하거나, Visual Studio 2022에서 ‘C++ 게임 개발’에 포함되어 있는 Windows SDK 11을 설치하자.

(글을 작성할 당시에는 Windows 11 SDK(10.0.22621.0)을 설치)

2. 샘플 실행하기

https://github.com/walbourn/directx-sdk-samples

 

GitHub - walbourn/directx-sdk-samples: This repo contains Direct3D 11, XInput, and XAudio2 samples C++ samples from the legacy D

This repo contains Direct3D 11, XInput, and XAudio2 samples C++ samples from the legacy DirectX SDK updated to build using the Windows 10 SDK - GitHub - walbourn/directx-sdk-samples: This repo cont...

github.com

 

위 Git은 DirectX에 대한 샘플 프로젝트다. 제대로 설치가 되었는지도 확인해 볼 겸 한 번 실행해 보자.

Github 환경이 설정되어 있지 않다면, Git을 설치하고, 가능하면 Github에서 SSH 키를 발행하고 토큰도 생성해서 Github를 사용할 환경부터 마련하자. 

clone 해서 다운로드한 다음에, directx-sdk-samples/Direct3D11Tutorials/Tutorials_2019.sln 파일을 실행하면 된다.

Visual Studio 2019 버전을 대상으로 만들어졌기 때문에, Visual Studio 2022로 실행하면 업그레이드를 진행할 것인지 물어보는데, 크게 신경 쓰지 않고 업그레이드하고 실행하면 된다.

SDK를 제대로 설치했다면 잘 실행되는 걸 볼 수 있다.

3. 프로젝트 생성하기

본격적으로 프로젝트에 들어가 보자.

Visual Studio에서 새 프로젝트 생성을 누르자.

상단 검색창에 'Windows 데스크톱 애플리케이션'을 검색하고, 해당하는 것을 생성하면 된다. 정상적으로 되었다면, 일단 기본 환경 세팅은 끝이다.

만약 나처럼 잘못 눌러서, 일반 C++ 콘솔 앱을 만들 때처럼, Windows 데스크톱 마법사→빈 프로젝트→콘솔 애플리케이션으로 선택하여 생성했다면 4번으로 넘어가자.

4. (콘솔 애플리케이션으로 생성했을 때만) 프로젝트 하위 시스 설정하기

아마 이 상태에서 다음 튜토리얼로 넘어가게 되면, WinMain 함수를 작성할 때 오류가 발생하게 된다. 이는 프로젝트를 설정할 때 Windows 응용 프로그램이 아니라 콘솔 프로그램으로 설정했기 때문이다.

윈도우 응용 프로그램은 시작점이 main이 아니라 WinMain이다. 프로젝트 설정을 열어서 진입점을 바꿔줄 필요가 있다.

일단 우선, 사용하고자 하는 프로젝트를 우클릭하여 속성을 열자.

프로젝트 우클릭 후, 속성을 눌러서 열자.
그 후, 구성 속성→링커→시스템으로 들어가서 하위 시스템을 바꾸자.

WinMain으로 함수를 시작하려고 하면 프로젝트 속성→링커→하위 시스템을 Windows나 (비움)으로 해야 한다.

 

VS ERROR LNK2019 : _main 외부 기호(참조 위치: "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ) 함수)에서 확인

프로그램을 잘 작성하다보면, 위와 같은 문제가 발생합니다. 위 오류의 경우, 프로그램의 진입점(일반적으로 main 함수)을 링커가 찾지 못했기 때문입니다. 자세한 내용은 [코드] 부분의 LNK2019 를

pang2h.tistory.com

그러나 주의해야 하는 점이 있다. Release와 Debug 양쪽 설정이 따로 적용된다는 점이다. Release 프로젝트 설정에다가 그렇게 설정해 놓고 Debug로 실행하려고 하면 오류가 발생할 수 있다. 두 모드 모두에 대해서 설정을 잘해줬는지 확인하자.

Debug 말고 Release로 들어가게 되면, 또 하위 시스템 설정이 제대로 적용되어 있지 않을 수 있다. 한 번 확인해보자.

일단 여기까지 하면 DirectX 11을 개발할 환경은 

참고 자료

DirectX 11 개발 환경 설정 (tistory.com)

댓글