이론/DirectX 11

DirectX 11 3. UnitTest Setting

월러비 2024. 9. 6. 16:40

밑 준비

  • 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