Added: DIRECTX_SDK_DOWNLOAD_GUIDE.md (10KB) Content: - DirectX 9 SDK download links (June 2010) - DirectX 12 / Windows SDK download links - Step-by-step installation instructions - Known issues and solutions (S1023 error, etc.) - Visual Studio project configuration - Redistribution packages - Development tools (PIX, RenderDoc) - FAQ and troubleshooting - Quick setup checklists Key Information: - DX9: Microsoft DirectX SDK June 2010 (572 MB) * Download: https://www.microsoft.com/en-us/download/details.aspx?id=6812 * Includes: d3d9.lib, d3dx9.lib, headers * Requires: Separate redistribution package - DX12: Windows 10/11 SDK (integrated with Visual Studio) * Download: https://developer.microsoft.com/en-us/windows/downloads/windows-sdk/ * Includes: d3d12.lib, dxgi.lib, built into Windows 10+ * No redistribution needed Additional Resources: - Helper header: d3dx12.h (GitHub) - Debug tools: PIX for Windows, RenderDoc - Tutorials and documentation links This guide enables developers to quickly set up the development environment for both dx9 and dx12 branches.
572 lines
14 KiB
Markdown
572 lines
14 KiB
Markdown
# DirectX SDK 다운로드 및 설치 가이드
|
|
|
|
## 📦 필요한 SDK 목록
|
|
|
|
이 프로젝트는 다음 DirectX SDK가 필요합니다:
|
|
- **DirectX 9 SDK** (dx9 브랜치용)
|
|
- **DirectX 12** (dx12 브랜치용 - Windows SDK에 포함)
|
|
|
|
---
|
|
|
|
## 1. DirectX 9 SDK (dx9 브랜치)
|
|
|
|
### 📥 다운로드
|
|
|
|
#### 공식 Microsoft 다운로드
|
|
**DirectX SDK (June 2010)** - 마지막 독립 실행형 DirectX SDK
|
|
|
|
**다운로드 링크**:
|
|
- 🔗 **공식**: https://www.microsoft.com/en-us/download/details.aspx?id=6812
|
|
- 📦 **파일명**: `DXSDK_Jun10.exe`
|
|
- 💾 **크기**: 약 572 MB
|
|
|
|
#### 대체 다운로드 소스
|
|
|
|
만약 위 링크가 작동하지 않는 경우:
|
|
|
|
1. **Internet Archive (Wayback Machine)**
|
|
- https://archive.org/search.php?query=DirectX%20SDK%20June%202010
|
|
|
|
2. **Softpedia**
|
|
- https://www.softpedia.com/get/Programming/SDK-DDK/Microsoft-DirectX-SDK.shtml
|
|
|
|
3. **국내 미러 사이트** (비공식)
|
|
- 주의: 공식 소스 사용 권장
|
|
|
|
### 🔧 설치 방법
|
|
|
|
1. **설치 파일 실행**
|
|
```
|
|
DXSDK_Jun10.exe
|
|
```
|
|
|
|
2. **기본 설치 경로**
|
|
```
|
|
C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\
|
|
```
|
|
|
|
3. **설치 후 디렉토리 구조**
|
|
```
|
|
Microsoft DirectX SDK (June 2010)/
|
|
├── Include/ ← 헤더 파일 (d3d9.h, d3dx9.h 등)
|
|
├── Lib/
|
|
│ ├── x86/ ← 32비트 라이브러리
|
|
│ └── x64/ ← 64비트 라이브러리
|
|
├── Utilities/
|
|
└── Documentation/
|
|
```
|
|
|
|
### ⚠️ 알려진 설치 문제
|
|
|
|
#### Error S1023 해결방법
|
|
|
|
DirectX SDK June 2010 설치 시 `S1023` 에러가 발생하는 경우:
|
|
|
|
**원인**: Visual C++ 2010 재배포 패키지 충돌
|
|
|
|
**해결 방법**:
|
|
1. **제어판** → **프로그램 제거**
|
|
2. 다음 항목 제거:
|
|
- Microsoft Visual C++ 2010 x86 Redistributable
|
|
- Microsoft Visual C++ 2010 x64 Redistributable
|
|
3. DirectX SDK 재설치
|
|
4. Visual C++ 2010 재설치 (필요시)
|
|
|
|
**PowerShell로 자동 해결** (관리자 권한):
|
|
```powershell
|
|
# VC++ 2010 제거
|
|
wmic product where "name like 'Microsoft Visual C++ 2010%'" call uninstall
|
|
|
|
# DirectX SDK 설치
|
|
Start-Process "DXSDK_Jun10.exe" -Wait
|
|
|
|
# VC++ 2010 재설치
|
|
# https://www.microsoft.com/en-us/download/details.aspx?id=26999
|
|
```
|
|
|
|
### 🛠️ Visual Studio 프로젝트 설정
|
|
|
|
#### 방법 1: 환경 변수 설정 (권장)
|
|
|
|
**시스템 환경 변수 추가**:
|
|
```
|
|
DXSDK_DIR = C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\
|
|
```
|
|
|
|
**프로젝트 설정**:
|
|
```xml
|
|
<!-- vcxproj 파일 -->
|
|
<AdditionalIncludeDirectories>$(DXSDK_DIR)Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
|
<AdditionalLibraryDirectories>$(DXSDK_DIR)Lib\x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
|
```
|
|
|
|
#### 방법 2: 직접 경로 지정
|
|
|
|
**Visual Studio에서**:
|
|
1. 프로젝트 속성 → C/C++ → 일반 → 추가 포함 디렉터리
|
|
```
|
|
C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include
|
|
```
|
|
|
|
2. 링커 → 일반 → 추가 라이브러리 디렉터리
|
|
```
|
|
C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Lib\x86
|
|
```
|
|
|
|
3. 링커 → 입력 → 추가 종속성
|
|
```
|
|
d3d9.lib
|
|
d3dx9.lib
|
|
dxerr.lib
|
|
dxguid.lib
|
|
```
|
|
|
|
### 📚 포함된 주요 파일
|
|
|
|
**헤더 파일**:
|
|
- `d3d9.h` - Direct3D 9 코어
|
|
- `d3dx9.h` - D3DX 유틸리티 함수
|
|
- `d3dx9math.h` - 수학 함수
|
|
- `d3dx9tex.h` - 텍스처 함수
|
|
- `d3dx9core.h` - 코어 유틸리티
|
|
|
|
**라이브러리**:
|
|
- `d3d9.lib` - Direct3D 9 런타임
|
|
- `d3dx9.lib` - D3DX 유틸리티 (Release)
|
|
- `d3dx9d.lib` - D3DX 유틸리티 (Debug)
|
|
- `dxerr.lib` - 에러 메시지 헬퍼
|
|
- `dxguid.lib` - GUID 정의
|
|
|
|
**DLL (재배포 필요)**:
|
|
- `d3d9.dll` - 시스템에 기본 포함
|
|
- `d3dx9_43.dll` - 별도 배포 필요 (June 2010 버전)
|
|
|
|
---
|
|
|
|
## 2. DirectX 12 (dx12 브랜치)
|
|
|
|
### 📥 다운로드
|
|
|
|
DirectX 12는 **Windows 10 SDK**에 포함되어 있습니다. 별도 SDK 불필요!
|
|
|
|
#### Windows 10/11 SDK 다운로드
|
|
|
|
**최신 버전**:
|
|
- 🔗 **공식**: https://developer.microsoft.com/en-us/windows/downloads/windows-sdk/
|
|
- 📦 **온라인 설치**: `winsdksetup.exe`
|
|
- 📦 **오프라인 ISO**: 사용 가능 (약 1-2 GB)
|
|
|
|
**권장 버전**:
|
|
- **최소**: Windows 10 SDK (10.0.17763.0) - Version 1809
|
|
- **권장**: Windows 11 SDK (10.0.22621.0) - 최신
|
|
- **DX12 Ultimate**: Windows 10 SDK (10.0.19041.0) - Version 2004+
|
|
|
|
#### 특정 버전 다운로드
|
|
|
|
**SDK Archive**:
|
|
- https://developer.microsoft.com/en-us/windows/downloads/sdk-archive/
|
|
|
|
**다운로드 예시**:
|
|
```
|
|
Windows 10 SDK (10.0.19041.0) ← 2020년 5월, DX12 Ultimate 지원
|
|
Windows 10 SDK (10.0.22000.0) ← Windows 11 SDK
|
|
Windows 11 SDK (10.0.22621.0) ← 최신
|
|
```
|
|
|
|
### 🔧 설치 방법
|
|
|
|
1. **설치 파일 실행**
|
|
```
|
|
winsdksetup.exe
|
|
```
|
|
|
|
2. **설치 옵션 선택**
|
|
|
|
필수 구성 요소만 선택하여 설치 시간 단축:
|
|
```
|
|
✅ Windows SDK Signing Tools for Desktop Apps
|
|
✅ Windows SDK for UWP C++ Apps
|
|
✅ Windows SDK for Desktop C++ x86 Apps
|
|
✅ Windows SDK for Desktop C++ x64 Apps
|
|
✅ Debugging Tools for Windows
|
|
❌ .NET Framework (불필요)
|
|
❌ Windows Performance Toolkit (선택)
|
|
❌ MSI Tools (불필요)
|
|
```
|
|
|
|
3. **기본 설치 경로**
|
|
```
|
|
C:\Program Files (x86)\Windows Kits\10\
|
|
```
|
|
|
|
4. **설치 후 디렉토리 구조**
|
|
```
|
|
Windows Kits\10\
|
|
├── Include\
|
|
│ └── 10.0.xxxxx.0\
|
|
│ ├── um\ ← d3d12.h, dxgi1_6.h
|
|
│ └── shared\ ← 공유 헤더
|
|
├── Lib\
|
|
│ └── 10.0.xxxxx.0\
|
|
│ ├── um\x86\ ← 32비트 라이브러리
|
|
│ └── um\x64\ ← 64비트 라이브러리
|
|
└── Redist\
|
|
└── D3D\ ← 재배포 DLL
|
|
```
|
|
|
|
### 🛠️ Visual Studio 프로젝트 설정
|
|
|
|
#### Windows SDK는 Visual Studio 2019/2022에 자동 통합됩니다!
|
|
|
|
**프로젝트 설정 확인**:
|
|
1. 프로젝트 속성 → 일반
|
|
```
|
|
Windows SDK 버전: 10.0 (최신 설치된 버전)
|
|
```
|
|
|
|
2. 플랫폼 도구 집합
|
|
```
|
|
Visual Studio 2019 (v142) 또는
|
|
Visual Studio 2022 (v143)
|
|
```
|
|
|
|
#### 수동 설정 (필요시)
|
|
|
|
**vcxproj 파일**:
|
|
```xml
|
|
<PropertyGroup>
|
|
<WindowsTargetPlatformVersion>10.0.19041.0</WindowsTargetPlatformVersion>
|
|
</PropertyGroup>
|
|
|
|
<ItemDefinitionGroup>
|
|
<Link>
|
|
<AdditionalDependencies>
|
|
d3d12.lib;
|
|
dxgi.lib;
|
|
dxguid.lib;
|
|
d3dcompiler.lib;
|
|
%(AdditionalDependencies)
|
|
</AdditionalDependencies>
|
|
</Link>
|
|
</ItemDefinitionGroup>
|
|
```
|
|
|
|
### 📚 포함된 주요 파일
|
|
|
|
**헤더 파일**:
|
|
- `d3d12.h` - Direct3D 12 코어
|
|
- `dxgi1_6.h` - DXGI 1.6 (스왑체인, 어댑터)
|
|
- `d3d12sdklayers.h` - 디버그 레이어
|
|
- `d3dcompiler.h` - 셰이더 컴파일러
|
|
- `DirectXMath.h` - 수학 라이브러리
|
|
|
|
**라이브러리**:
|
|
- `d3d12.lib` - Direct3D 12 런타임
|
|
- `dxgi.lib` - DXGI
|
|
- `d3dcompiler.lib` - 셰이더 컴파일러
|
|
- `dxguid.lib` - GUID 정의
|
|
|
|
**DLL (시스템 포함)**:
|
|
- `d3d12.dll` - Windows 10에 기본 포함
|
|
- `dxgi.dll` - Windows 10에 기본 포함
|
|
|
|
### 🔨 추가 도구
|
|
|
|
#### d3dx12.h (헬퍼 헤더)
|
|
|
|
DX12는 `d3dx12.h`를 별도 제공하지 않습니다. Microsoft 샘플에서 가져와야 합니다.
|
|
|
|
**다운로드**:
|
|
```
|
|
https://github.com/microsoft/DirectX-Graphics-Samples/blob/master/Libraries/D3DX12/d3dx12.h
|
|
```
|
|
|
|
**또는 프로젝트에 직접 추가**:
|
|
```cpp
|
|
// d3dx12.h - Helper structures and functions
|
|
// 프로젝트 Include 폴더에 복사
|
|
```
|
|
|
|
**사용 예시**:
|
|
```cpp
|
|
#include <d3d12.h>
|
|
#include "d3dx12.h" // 헬퍼 함수
|
|
|
|
CD3DX12_HEAP_PROPERTIES heapProps(D3D12_HEAP_TYPE_DEFAULT);
|
|
CD3DX12_RESOURCE_DESC texDesc = CD3DX12_RESOURCE_DESC::Tex2D(...);
|
|
```
|
|
|
|
#### DirectX Shader Compiler (DXC)
|
|
|
|
HLSL 6.0+ 셰이더 컴파일용 (선택사항, 고급 기능)
|
|
|
|
**다운로드**:
|
|
- 🔗 https://github.com/microsoft/DirectXShaderCompiler/releases
|
|
- 📦 `dxc_<version>.zip`
|
|
|
|
**포함 파일**:
|
|
- `dxc.exe` - 커맨드라인 컴파일러
|
|
- `dxcompiler.dll` - 런타임 컴파일러
|
|
- `dxil.dll` - DXIL 서명
|
|
|
|
---
|
|
|
|
## 3. 개발 도구
|
|
|
|
### PIX for Windows (GPU 디버거)
|
|
|
|
**다운로드**:
|
|
- 🔗 https://devblogs.microsoft.com/pix/download/
|
|
- 📦 Windows Store에서도 다운로드 가능
|
|
|
|
**기능**:
|
|
- GPU 타이밍 분석
|
|
- 프레임 캡처
|
|
- 셰이더 디버깅
|
|
- 리소스 상태 추적
|
|
|
|
### RenderDoc (대체 디버거)
|
|
|
|
**다운로드**:
|
|
- 🔗 https://renderdoc.org/builds
|
|
- 📦 크로스 플랫폼 (Windows, Linux)
|
|
|
|
**기능**:
|
|
- 프레임 캡처
|
|
- 텍스처 뷰어
|
|
- 파이프라인 상태 검사
|
|
- 무료 오픈소스
|
|
|
|
### Visual Studio Graphics Debugger
|
|
|
|
**설치**:
|
|
- Visual Studio 설치 시 "게임 개발 (C++)" 워크로드 선택
|
|
- 자동으로 포함됨
|
|
|
|
**사용법**:
|
|
- 디버그 → 그래픽 → 진단 시작
|
|
- 프레임 캡처 (Print Screen)
|
|
|
|
---
|
|
|
|
## 4. 재배포 패키지
|
|
|
|
### DirectX 9 재배포
|
|
|
|
최종 사용자를 위해 게임과 함께 배포해야 하는 파일:
|
|
|
|
**DirectX End-User Runtime**:
|
|
- 🔗 https://www.microsoft.com/en-us/download/details.aspx?id=35
|
|
- 📦 `directx_Jun2010_redist.exe`
|
|
|
|
**포함 내용**:
|
|
- `d3dx9_43.dll`
|
|
- `D3DCompiler_43.dll`
|
|
- `XAudio2_7.dll`
|
|
- 기타 D3DX 컴포넌트
|
|
|
|
**설치 방법**:
|
|
```batch
|
|
REM 게임 설치 스크립트
|
|
directx_redist\DXSETUP.exe /silent
|
|
```
|
|
|
|
### DirectX 12 재배포
|
|
|
|
DirectX 12는 **Windows 10에 기본 포함**되므로 별도 재배포 불필요!
|
|
|
|
**최소 OS 요구사항**:
|
|
- Windows 10 (1809 이상) 또는
|
|
- Windows 11
|
|
|
|
**확인 방법**:
|
|
```cpp
|
|
// 런타임에 DX12 지원 확인
|
|
if (FAILED(D3D12CreateDevice(nullptr, D3D_FEATURE_LEVEL_11_0,
|
|
__uuidof(ID3D12Device), nullptr)))
|
|
{
|
|
MessageBox(NULL, L"DirectX 12를 지원하지 않는 시스템입니다.",
|
|
L"에러", MB_OK);
|
|
return false;
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
## 5. 빠른 설정 체크리스트
|
|
|
|
### ✅ DX9 브랜치 (dx9)
|
|
|
|
- [ ] DirectX SDK June 2010 다운로드
|
|
- [ ] SDK 설치 (S1023 에러 해결)
|
|
- [ ] 환경 변수 `DXSDK_DIR` 설정
|
|
- [ ] Visual Studio 재시작
|
|
- [ ] 프로젝트 Include/Lib 경로 확인
|
|
- [ ] 빌드 테스트
|
|
- [ ] `d3dx9_43.dll` 실행 경로에 복사
|
|
|
|
### ✅ DX12 브랜치 (dx12)
|
|
|
|
- [ ] Windows 10 SDK 다운로드 (최신)
|
|
- [ ] SDK 설치 (C++/Desktop 옵션)
|
|
- [ ] Visual Studio 재시작
|
|
- [ ] Windows SDK 버전 확인
|
|
- [ ] d3dx12.h 다운로드 및 추가
|
|
- [ ] 빌드 테스트
|
|
- [ ] PIX for Windows 설치 (디버깅용)
|
|
|
|
---
|
|
|
|
## 6. 자주 묻는 질문 (FAQ)
|
|
|
|
### Q1: DirectX SDK를 어디에 설치해야 하나요?
|
|
|
|
**A**: 기본 경로 사용 권장:
|
|
```
|
|
C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\
|
|
C:\Program Files (x86)\Windows Kits\10\
|
|
```
|
|
|
|
### Q2: 여러 버전의 SDK를 동시에 설치할 수 있나요?
|
|
|
|
**A**: 가능합니다! DX9 SDK와 Windows SDK (DX12)는 충돌하지 않습니다.
|
|
|
|
### Q3: Visual Studio 2022에서 DX9 SDK를 사용할 수 있나요?
|
|
|
|
**A**: 가능합니다. 단, 경로 충돌 방지를 위해:
|
|
```
|
|
Include 경로 순서:
|
|
1. $(DXSDK_DIR)Include
|
|
2. $(WindowsSDK_IncludePath)
|
|
```
|
|
|
|
### Q4: 64비트 빌드 시 라이브러리 경로는?
|
|
|
|
**DX9**:
|
|
```
|
|
$(DXSDK_DIR)Lib\x64
|
|
```
|
|
|
|
**DX12**:
|
|
```
|
|
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.xxxxx.0\um\x64\
|
|
```
|
|
|
|
### Q5: `d3dx9_43.dll`이 없다는 오류가 발생합니다.
|
|
|
|
**A**: DirectX 재배포 패키지 설치 또는 DLL을 실행 파일과 같은 폴더에 복사:
|
|
```
|
|
Game.exe
|
|
d3dx9_43.dll
|
|
D3DCompiler_43.dll
|
|
```
|
|
|
|
### Q6: Windows 7에서 DX12를 사용할 수 있나요?
|
|
|
|
**A**: 불가능합니다. DX12는 Windows 10 이상 전용입니다.
|
|
|
|
### Q7: 오프라인 환경에서 설치하려면?
|
|
|
|
**DX9**: 전체 SDK 설치 파일 (572 MB) 다운로드
|
|
**DX12**: Windows SDK ISO 이미지 다운로드
|
|
|
|
---
|
|
|
|
## 7. 추가 리소스
|
|
|
|
### 공식 문서
|
|
|
|
**DirectX 9**:
|
|
- 📖 https://docs.microsoft.com/en-us/windows/win32/direct3d9/dx9-graphics
|
|
- 📖 MSDN DirectX 9 Reference (SDK 내 포함)
|
|
|
|
**DirectX 12**:
|
|
- 📖 https://docs.microsoft.com/en-us/windows/win32/direct3d12/directx-12-programming-guide
|
|
- 📖 https://github.com/microsoft/DirectX-Graphics-Samples
|
|
|
|
### 튜토리얼
|
|
|
|
**DX9**:
|
|
- http://www.directxtutorial.com/
|
|
- http://rastertek.com/tutdx9.html
|
|
|
|
**DX12**:
|
|
- https://www.3dgep.com/learning-directx-12-1/
|
|
- https://alain.xyz/blog/raw-directx12
|
|
|
|
### 커뮤니티
|
|
|
|
- **GameDev.net**: https://www.gamedev.net/forums/
|
|
- **Discord**: DirectX Community Server
|
|
- **Stack Overflow**: [directx] 태그
|
|
|
|
---
|
|
|
|
## 8. 문제 해결
|
|
|
|
### 빌드 오류: "d3d9.h를 찾을 수 없습니다"
|
|
|
|
**해결**:
|
|
1. SDK 설치 확인
|
|
2. Include 경로 확인
|
|
3. 프로젝트 다시 로드
|
|
|
|
### 링크 오류: "d3d9.lib를 열 수 없습니다"
|
|
|
|
**해결**:
|
|
1. Lib 경로 확인 (x86 vs x64)
|
|
2. 플랫폼 일치 확인
|
|
3. 환경 변수 재설정
|
|
|
|
### 런타임 오류: "DLL을 로드할 수 없습니다"
|
|
|
|
**해결**:
|
|
1. 재배포 패키지 설치
|
|
2. DLL을 실행 폴더에 복사
|
|
3. System32 확인 (비권장)
|
|
|
|
### Windows SDK 설치 실패
|
|
|
|
**해결**:
|
|
1. 관리자 권한으로 실행
|
|
2. 기존 버전 제거 후 재설치
|
|
3. .NET Framework 업데이트
|
|
4. 디스크 공간 확인 (10GB 이상)
|
|
|
|
---
|
|
|
|
## 📞 도움이 필요하신가요?
|
|
|
|
이 가이드로 해결되지 않는 문제가 있다면:
|
|
|
|
1. **GitHub Issues** 생성
|
|
2. **프로젝트 문서** 참조:
|
|
- `DX8_TO_DX9_MIGRATION_PLAN.md`
|
|
- `DX9_TO_DX12_MIGRATION_PLAN.md`
|
|
3. **Microsoft Q&A** 포럼 방문
|
|
|
|
---
|
|
|
|
**작성일**: 2025-12-01
|
|
**작성자**: Claude AI (Anthropic)
|
|
**버전**: 1.0
|
|
**최종 업데이트**: 2025-12-01
|
|
|
|
---
|
|
|
|
## 📋 요약
|
|
|
|
| SDK | 다운로드 링크 | 크기 | 플랫폼 | 비고 |
|
|
|-----|-------------|------|--------|------|
|
|
| **DX9 SDK** | [June 2010](https://www.microsoft.com/en-us/download/details.aspx?id=6812) | 572 MB | Win XP+ | 독립 설치 |
|
|
| **DX12 (Windows SDK)** | [최신 SDK](https://developer.microsoft.com/en-us/windows/downloads/windows-sdk/) | 1-2 GB | Win 10+ | VS 통합 |
|
|
| **DX9 재배포** | [End-User Runtime](https://www.microsoft.com/en-us/download/details.aspx?id=35) | 95 MB | All | 배포 필수 |
|
|
|
|
**핵심 포인트**:
|
|
- ✅ DX9: 별도 SDK 설치 필요
|
|
- ✅ DX12: Windows SDK에 포함 (VS와 자동 통합)
|
|
- ✅ 둘 다 동시 설치 가능
|
|
- ✅ DX9는 재배포 패키지 필요, DX12는 불필요
|
|
|
|
**이제 개발 준비 완료!** 🚀
|