참고 문서
docs.unrealengine.com/ko/ProductionPipelines/UnrealBuildSystem/IWYUReferenceGuide/index.html
IWYU (Include-What-You-Use)
그대로 번역하면 '너가 사용하는 것만 포함.' 이라는 뜻이다.
옛날의 언리얼 엔진은
Engine.h 및 UnrealEd.h 에서 많은 헤더들을 포함시켜놓고 Engine.h를 불러쓴 것 같다.
(나는 이 때 안 써봐서 모르겠다. 배울 때부터 IWYU 방식이었다.)
엔진이 커지면서
개발자가 사용하지 않는 헤더도 컴파일 되어서, 컴파일 속도가 느려지는 것에 영향을 끼쳤다고 한다.
궁금해서 Engine.h을 열어보니까 다양한 헤더들이 포함되어 있다. ㄷㄷ
헤더 파일 경로 쉽게 찾기
1. 직접 헤더파일로 가서 찾는다.
컴포넌트 이름 적어놓고 정의로 이동 누르면, 해당 헤더 파일을 볼 수 있다.
헤더 파일 이름에 마우스 올리면 경로가 뜬다.
2. 언리얼 API 레퍼런스 -> Classes 에서 헤더 파일 위치를 찾을 수 있다.
docs.unrealengine.com/en-US/API/Classes/index.html
예를 들어서 StaticMeshComponent를 사용하고 싶으면,
저기 사이트에서 Ctrl+F로 StaticMeshComponent를 검색해서 클릭.
헤더 파일 위치를 긁어서 코드 위에 포함시키면 된다.
#include "Components/StaticMeshComponent.h"
결론
우리는 사용할 때 사용할 헤더만 골라서 사용하면 된다.
컴포넌트를 하나 쓸 때마다 그에 맞는 헤더 파일을 포함시켜야해서 쪼금 귀찮긴 하다.
많이 쓰다보면 자주 쓰는 건 외워진다.
'Unreal' 카테고리의 다른 글
[Unreal Error] GetWorld()가 Null 값을 반환하는 경우 (0) | 2021.04.23 |
---|---|
[Unreal C++] 액터 오브젝트에 컴포넌트 추가하기 (0) | 2021.04.20 |
[Unreal BP] AI MoveTo 사용하기 (0) | 2021.04.14 |
[Unreal] 네비게이션 메쉬 설정하기 (Nav Mesh / Nav Link Proxy) (0) | 2021.04.12 |
[Unreal BP & C++] 애니메이션 노티파이 (5) | 2021.04.08 |