본문 바로가기

Study/DirectX11

DirectX 공부 1일차 - 개발환경 구축하기

DirectX를 이용하여 게임 엔진을 만들기 위해 준비물을 챙겨야 한다.

 

먼저 코드 편집기는 Visual Studio 2022를 사용했다. 아래 링크에서 Visual Studio Community를 설치해준다.

https://visualstudio.microsoft.com/ko/vs/

 

Visual Studio 2022 | 무료 다운로드

Visual Studio에서 코드 완성, 디버깅, 테스트, Git 관리, 클라우드 배포를 사용하여 코드를 작성합니다. 지금 무료로 커뮤니티를 다운로드하세요.

visualstudio.microsoft.com

 

자 그다음은 DirectX의 라이브러리들을 가져와야 한다. 이는 마이크로 소프트에서 Github를 통해 받을 수 있다.

https://github.com/microsoft/DirectXTK

 

GitHub - microsoft/DirectXTK: The DirectX Tool Kit (aka DirectXTK) is a collection of helper classes for writing DirectX 11.x co

The DirectX Tool Kit (aka DirectXTK) is a collection of helper classes for writing DirectX 11.x code in C++ - GitHub - microsoft/DirectXTK: The DirectX Tool Kit (aka DirectXTK) is a collection of h...

github.com

 

자 이러면 필요한 준비물들을 챙기는 건 끝이다. 이제 DirectX의 라이브러리를 세팅을 해야 한다.

 

DirectXTK를 받아서 폴더를 열어보면 아래 스샷처럼 여러 빌드 환경에 따라 솔루션이 구축되어 있다.

 

본인은 윈도우 11 환경을 사용하고 있지만.. 해당 환경은 구축이 되어있지 않다.

그래도 DirectXTK_Windows10_2022.sln을 이용하여 구축해도 별 문제는 없었다. (불안 불안하지만...)


DirectXTK를 이용한 라이브러리 구축 방법

 

1. 자신에 맞는 환경의 솔루션을 실행한다.

 

실행하고 나면 아래 화면처럼 나올 텐데 여기서 중요한 곳은 상단의 붉은색 네모로 표시한 부분이다.

이 부분에서 솔루션 구성과 플랫폼을 지정할 수 있다.

2. 솔루션의 구성과 플랫폼을 바꾸면서 한 번씩 빌드해준다.

 

ARM은 ARM 칩을 쓴다면 해당 플랫폼으로 빌드해주면 되는 것 같다. 본인은 안 쓰기에 빌드하지 않았다.

이렇게 빌드된 라이브러리는 Bin폴더에 빌드된다.

 

 

3. 이제 DirectX Engine 프로젝트를 생성한다.

 

windows 데스크톱 마법사로 만든 후, 원하는 경로에 프로젝트를 생성한다.

그다음 애플리케이션 종류를 데스크톱 애플리케이션(. exe)으로 바꾼 뒤 빈 프로젝트를 체크한 뒤 확인을 눌러준다.

 

 

4. 프로젝트에 빌드한 라이브러리를 이동시킨다.

 

일단 프로젝트에 라이브러리를 옮길 폴더들을 만든다.

Include 폴더와 Libs폴더를 만들었다.

Libs는 솔루션 구성과 플랫폼별로 구분이 돼야 되기 때문에 내부에 폴더들을 더 만들어줘야 한다.

 

이제 라이브러리들을 옮겨준다.

 

DirectXTK Inc -> Include 모든 헤더파일 복붙!!!
DirectXTK  Bin/Windows10_2022 Win32/Debug -> Libs/x86/Debug 로 DirectXTK.lib만 복붙!! 나머지 Release, x64의 lib도 같은 방식으로 이동!!

 

5. 각 솔루션 구성과 플랫폼에 맞게 라이브러리를 등록한다.

 

프로젝트 > 속성 > 구성 속성 > VC++ 디렉터리로 이동한다.

 

속성 페이지 상단에는 해당 프로젝트의 구성과 플랫폼별로 설정할 수 있도록 리스트 박스가 있는데, 일단 둘 다 모든 구성으로 설정한다.

다음으로는 일반 > 포함 디렉터리를 편집한다.

[...] 버튼을 누르면 라이브러리를 추가할수 있다.

여기서 추가할 라이브러리는 전에 DirectXTK에서 가져온 Include 폴더이다.

여기서 나오는 경로를 보면 프로젝트까지의 절대 경로로 나와있다. 다른 디바이스에서는 해당 경로가 다를 수 있기 때문에 매크로를 이용해줘야 탈이 없다. 매크로는 $(SolutionDir)를 사용하면 된다.

다음으로는 Libs를 가져올 차례다.

여기서는 프로젝트 구성과 플랫폼별로 따로 등록해야 하기 때문에 차례대로 바꿔주면서 등록해준다.

바꿀 디렉터리는 라이브러리 디렉터리이다.

이런 식으로 모두 바꿔준다.


 

여기까지 됐다면 기본 세팅은 됐다. 이제 테스트를 위해 진입점을 만들어준다.

Main.cpp를 생성해주고..

 

아래의 코드를 적는다.

#pragma once
#include <Windows.h>
#pragma comment(lib, "d3d11.lib")
#pragma comment(lib, "DirectXTK.lib")

int APIENTRY wWinMain(_In_ HINSTANCE hInstance,
	_In_opt_ HINSTANCE hPrevInstance,
	_In_ LPWSTR lpCmdLine,
	_In_ int nCmdShow)
{
	return 0;
}

 그리고 디버깅을 해보면 빌드되자마자 꺼지지만 성공적으로 빌드가 된 것이다. 만약 에러가 뜬다면 디렉터리 경로를 다시 한번 확인해 봐야 한다.

'Study > DirectX11' 카테고리의 다른 글

DirectX 공부 2일차 - ErrorLogger & StringConverter  (0) 2022.04.01