밑 준비
- Framework CPP 파일과 헤더 파일 생성
- 파일을 복사하고 프로젝트로 옮길때 주의점 : 해당 프로젝트 폴더에 미리 복사를 해놓고 파일 들을 불러와야한다.
- 경로 문제 때문에 컴파일이 정상적으로 작동하지 않는다.
필터 생성
- 프로젝트 파일 우클릭 - 추가 - 필터 생성
- 필터명과 프로젝트 폴더에 생성하는 폴더명은 같게 하는것이 좋다.
- 렌더링
- 시스템
- 유틸리티
- 뷰어
미리 컴파일 된 헤더
- 미리 컴파일 된 헤더로 지정한 헤더파일을 사용할 CPP 파일은 반드시 한 번 호출해야한다.
- Framework 속성 - 구성 속성 - 일반 - 미리 컴파일된 헤더 : ‘만들기’ 클릭
- Framework CPP 파일을 기준으로 만들어라 라는 옵션이다.
- 설정이 끝나면 프로젝트 빌드를 해준다.
- 성공이 뜬다면 정상적으로 모든 파일 준비를 한것이다.
- 걸과 파일들은 해당 프로젝트가 있는 ‘솔루션’ 폴더내에 생성된 Debug 폴더에 저장되어있다.
- lib 파일과 pdb 파일이 생성되어있다.
- 프로젝트 폴더 내에도 Debug 폴더가 생성된다.
Debug 폴더와 파일들
- 이 폴더와 파일들은 프로젝트 ‘빌드’시에 자동으로 생성되는것이다.
- 사실상 이것들은 유지할 필요가 없고, 용량만 크게 잡아먹는다.
- 프로젝트를 만들때마다 생길것이니 삭제도 번거롭다.
- 해결법 : Debug 폴더를 솔루션 폴더에 하나로 모아놓는다.
- 프로젝트 폴더 - 속성 - 구성속정 - 일반 - 중간 디렉토리 : 편집 클릭 - 미리 선언된 것은 지운다. - ‘solution’ 을 검색해서 솔루션 폴더 경로 클릭 - Debug 들을 모아놓을 폴더 이름 작성 - ‘projectName’ 검색 후 클릭 - 확인 후 중간 디렉토리 경로 마지막에 ‘역 슬래시 \’ 작성 후 빌드
- 이후 미리 빌드되어 생성된 프로젝트 내부에 Debug 폴더 삭제
- 솔루션 폴더를 확인해보면 ‘Debug 폴더용 이름 + 프로젝트 이름’으로 폴더가 생성되어있다.
UnitTest 프로젝트 생성
- 추가 - windows 데스크톱 마법사 - ‘데스크톱 응용 프로그램(.exe)’
- 임시 소스 파일 생성
- UnitTest 속성 - 일반 - 중간 디렉토리 - 편집 - 위에처럼 디버그 폴더 경로 생성
- VC++ 디렉토리 - 포함 디렉토리 - 전에 생성한 DX header 경로 매크로 작성
- 라이브러리 디렉토리 - 전에 생성한 DX 라이브러리 경로 매크로 작성
- C/C++ - 추가 포함 디렉토리 - 전전경로의 라이브러리 폴더와 프레임워크 프로젝트 폴더 경로 지정
- 다중 프로세서 컴파일 : 예 클릭
- 언어 - 준수 모드 : 아니오 확인
- 미리 컴파일된 헤더 - 미리 컴파일된 헤더 : 사용 클릭
- 링커 - 중분 링크 사용 : 예 확인
- 추가 라이브러리 디렉토리 : 전전 경로의 라이브러리 폴더 지정
- UnitTest 프로젝트를 ‘시작 프로젝트’로 지정
- 설명
- 앞으로 여러 프로젝트를 생성하여 사용한다.
- 실행용 : UnitTest / 이후에 : ModelEditor 등..
- 모든 프로젝트는 ‘Framework’ 프로젝트가 먼저 빌드되고 다음 실행 프로젝트가 빌드 되어야한다.
- 항상 프레임워크가 먼저 빌드되도록 ‘종속성’을 설정한다.
- UnitTest 우클릭 - 빌드 종속성 - 프로젝트 종속성 - Framework 프로젝트 클릭
- stdafx.cpp 우클릭 - 속성 - 미리 컴파일된 헤더 - 미리 컴파일된 헤더 : 만들기 클릭
- 앞으로 여러 프로젝트를 생성하여 사용한다.
- 모든 설정이 끝나면 ‘빌드’ 시작
pdb 파일과 lib 파일 경로 설정
- 실행 폴더(UnitTest) 폴더에는 반드시 pdb 파일과 lib 파일이 있어야한다.
- 앞으로 생성할 프로젝트 폴더에도 있어야하는데 경로 설정이 매우 번거롭다.
- Framework 폴더 - 속성 - 빌드 이벤트
- 빌드 전 이벤트 : 빌드 시작 전에 발생하는 이벤트
- 링크 전 이벤트 : 링크 시작 전에 발생하는 이벤트
- 빌드 후 이벤트 : 빌드 끝에 발생하는 이벤트
- 빌드 후 이벤트 - 명령줄
- pdb 파일과 lib 파일이 생성되면 복사하고 그것을 UnitTest 폴더에 복사할 것이다.
- copy /Y “솔루션 경로/디버그 폴더명/lib파일 명.lib” “솔루션 경로/프로젝트 이름”
- Y의 의미 : 복사 생성할때 같은 파일이 있다면 덮어 쓸지 여부 판단
- “” 를 붙이는 의미 : 따옴표 안의 내용이 띄어 쓰기가 있어도 하나의 경로로 취급된다.
- 이 작업을 pdb도 한 줄 더 쓴다.
'이론 > DirectX 11' 카테고리의 다른 글
| DirectX 11 2. Framwork Setting (2) | 2024.09.04 |
|---|---|
| DirectX 11 1. DirectX 설명 (3) | 2024.09.03 |