
오늘은 강의 중 Build.cs 파일 수정이 있어 해당 내용에 대해 정리하였다.
프로젝트명.Build.cs 파일
using UnrealBuildTool;
public class DedicatedX : ModuleRules
{
public DedicatedX(ReadOnlyTargetRules Target) : base(Target)
{
PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;
PublicDependencyModuleNames.AddRange(new string[]
{
// Initial Dependencies
"Core", "CoreUObject", "Engine", "InputCore", "EnhancedInput",
});
PrivateDependencyModuleNames.AddRange(new string[] { });
PublicIncludePaths.AddRange(new string[]
{
"DedicatedX", // 이게 없으면 헤더파일 인클루드시 경로를 찾지 못함.
});
}
}
이 파일은 언리얼엔진 모듈 빌드 설정 파일이라고 한다.
UnrealBuildTool(UBT)이 프로젝트를 빌드할 때 어떤 모듈을 포함해야 하는지, 어떤 경로를 참조해야 하는지를 정의한다.
public class DedicatedX : ModuleRules
DedicatedX라는 모듈의 빌드 규칙을 정의하는 클래스
UnrealEngine은 프로젝트를 여러 모듈로 나누어 관리하는데, 각 모듈마다 Build.cs 파일이 있어야 한다.
public DedicatedX(ReadOnlyTargetRules Target) : base(Target)
생성자, 빌드 타겟에 따라 모듈 규칙을 초기화한다.
base(Target)은 부모 클래스(ModuleRules)의 생성자를 호출하는 부분이다.
PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;
PCH(Precompiled Header, 미리 컴파일된 헤더) 사용 방식을 지정한다.
빌드 속도를 최적화하기 위해 자주 쓰이는 헤더를 미리 컴파일해두는 방식이다.
PublicDependencyModuleNames.AddRange(...)
이 모듈이 의존하는 다른 모듈들을 나열한다.
즉, DedicatedX 모듈이 빌드될 때 아래 모듈들을 반드시 포함해야 한다.
PublicIncludePaths.AddRange(...)
헤더 파일을 찾을 때 추가로 참조할 경로를 지정한다.
"DedicatedX" 경로를 추가했는데, 이게 없으면 #include "DedicatedX/SomeHeader.h" 같은 헤더를 찾지 못한다.
주석에 적힌 것처럼 헤더 인클루드 시 경로 문제를 해결하기 위해 필요하다.
멀티플레이 프로젝트 부터 해당 파일을 자주 열어보게 되는데 위와 같은 역할을 할 수 있다는 것을 알 수 있었다. 해당파일은 중요하여 모듈이 누락되거나 오타로 잘 못 입력되면 빌드가 되지 않거나 오류가 발생할 수 있다.
경찰과 도둑 게임(개인프로젝트) 시작