본문으로 바로가기

다이렉트 3D 공부를 하기 위해서 책을 구매했지만, 책 어디에도 개발환경 세팅방법이 나와있지 않아서 구글링을 통한 검색과 여러번의 삽질을 통해 얻은 방법을 포스팅 합니다.


이 개발환경 세팅가이드는 VS2010 환경에서 "3D 게임 프로그래밍 (한빛미디어)" 책을 기준으로 설명하고 있습니다.



1. 프로젝트 생성


- "Win32 프로젝트 생성" 을 통해서 프로젝트를 생성합니다.




- "Windows 응용 프로그램". 추가옵션으로 "빈 프로젝트"로 설정 후 생성합니다.





2. 프로젝트 속성 설정


- 프로젝트를 우클릭해 "속성" 메뉴로 들어갑니다.




- 구성속성 -> VC++ 디렉터리 -> '포함 디렉터리'와 '라이브러리 디렉터리'의 경로에 다이렉트 SDK의 경로를 추가해줍니다.




포함 디렉터리 : $(DXSDK_DIR)Include;
라이브러리 디렉터리 : $(DXSDK_DIR)Lib\x86;$(DXSDK_DIR)Lib\x64;



- 구성속성 -> 링커 -> 입력 -> '추가 종속성' 에 사용할 라이브러리 파일명을 추가해줍니다. (프로젝트에 따라 달라질 수 있으며, 프로젝트에 따라서 다른 라이브러리 파일이 필요할 수 도 있습니다.)




추가 종속성 : winmm.lib;d3dx9d.lib;d3d9.lib;dxguid.lib;d3dxof.lib;



- 구성속성 -> 일반 -> '문자 집합' 을 "설정 안 함"으로 바꿔줍니다.




문자집합 설정은 다이렉트 3D 뿐 아니라 윈도우API를 사용하는 프로젝트 등에서 발생하는 빈번한 오류로 역시 같은 방법을 통해 해결 할 수 있습니다.


문자 집합 설정에 관련된 에러메시지 ('예제 2-1 기준')

error C2440 : '초기화 중' : 'const char [13]'에서 'LPCWSTR'(으)로 변환할 수 없습니다.
error C2664 : 'CreateWindowExW' : 매개 변수 2을(를) 'const char [13]'에서 'LPCWSTR'(으)로 변환할 수 없습니다.
error C2664 : 'UnregisterClassW' : 매개 변수 1을(를) 'const char [13]'에서 'LPCWSTR'(으)로 변환할 수 없습니다.



위 과정을 모두 마치면 다이렉트3D 프로그래밍을 할 준비가 된 것입니다.