DX11) 프로젝트 설정
프로젝트도 제대로 설정 못하는 내가, Direct11을 공부해보겠다고 이러고있다.
컴퓨터 그래픽스에 관심이 생긴 이후로 이런 저런 강의를 봐왔지만, 프로젝트 설정 부분은 늘 빠져있었다.
개인적으로 이게 제일 큰 진입 장벽인데, 몇몇 강의는 프로젝트를 제공하는것으로,
이런 과정이 생략되어 이제 무엇 인지부터 짚어 가보자 한다.
그래서 이번 프로젝트는 이렇게 설정했으니, 다음 프로젝트 진행 시 가져다 쓰려고 기록하고자 한다.
폴더 구조
아래는 파일 관리를 수월 하기 위한 폴더 구조이다.
- External : 외부 라이브러리
- OutputFile : 빌드 파일
- Project : 프로젝트 파일
- Client : WinApi로 구동되는 프로젝트
- Engine : DirectX등 실제 구현 프로젝트(정적라이브러리로 사용)
폴더 구조를 변경함으로써, 아래 과정을 거쳐야한다.
- Engine 프로젝트 출력 경로 변경
$(SolutionDir)External\Library\$(ProjectName)\
- Engine 프로젝트 Debug모드시 대상이름 변경
- Client 프로젝트 포함 디렉터리 설정
$(SolutionDir)External\Include\
- Engine 프로젝트의 헤더 파일을 External\Inclue 로 복사해주는 배치파일
- copy.bat 파일 생성
- exclude_list.txt (복사하지 않을 헤더 작성)
# copy.bat
xcopy /s /y /exclude:exclude_list.txt ".\Project\Engine\*.h" ".\External\Include\Engine"
# exclude_list.txt
framework.h
pch.h
- Engine 프로젝트 빌드전 이벤트 설정 (copy.bat 실행)
- 프로젝트 종속성 설정 (Client 프로젝트에서 설정)
- Client.cpp 라이브러리 참조 분기 작성
과정이 생각 보다 복잡했던 것 같다.
그래도 나중에 gcc등 비주얼스튜디오를 쓰지 못할 상황에 대비해, 이제 무슨 과정이고, 왜 하는지는 알 수 있었다.
언젠가 올 cmake 작성 할때 작지만 도움 되겠지….
댓글남기기