게임 개발/Unreal Engine

[UE4] Unreal Engine 4 include 참조 경로 설정

지노윈 2021. 12. 4. 20:20
반응형

Unreal Engine의 Visual Studio Project파일은 자동으로 생성하므로 참조 경로를 프로젝트에 직접 추가하는 방법을 사용하지 않습니다.
아래 그림과 같이 생성을 합니다.


Characters폴더 하위에 ABCharacter.h 파일이 있고 GameFramework 폴더에는 ABGameMode.h 파일이 있습니다.

#include "ABGameMode.h" 
#include "Characters/ABCharacter.h" 
#include "GameFramework/ABPlayerController.h" 

AABGameMode::AABGameMode() 
{ 
	DefaultPawnClass = AABCharacter::StaticClass(); 
	PlayerControllerClass = AABPlayerController::StaticClass(); 
}

컴파일을 하면 다음과 같이 파일을 찾을 수 없다는 오류가 발생합니다.

(예전 엔진 버전에는 이런 오류가 발생하지 않았었으나 무엇인가 바뀐 듯 하다)

ABGameMode.h 파일이 있는 위치로 부터 상대 경로로 설정해주면 오류가 발생하지 않지만 파일 마다 이런 방법으로 설정한다면 이후에 디렉토리 경로를 변경한다면 골치가 아파 질 것입니다.

#include "../Characters/ABCharacter.h"

빌드 환경 설정을 할 수 있는 XXX.Build.cs 파일이 있습니다.
제가 설명하는 프로젝트는 ArenaBattle.Build.cs 파일에 다음의 코드를 추가하여 해결 할 수 있습니다.

PrivateIncludePaths.Add("ArenaBattle");

이제 컴파일을 하면 더 이상 오류가 발생하지 않습니다.

폴더명 자체를 신경쓰지 않으려면 참조할 폴더가 생길때마다 추가 해주는 방법도 있다. 개인적으로는 이 방법은 선호하지 않습니다.

Characters 폴더도 추가 하였으며,

 PrivateIncludePaths.Add("ArenaBattle"); 
 PrivateIncludePaths.Add("ArenaBattle/Characters");

include 할때 Characters 폴더를 사용하지 않고 바로 파일 이름만으로 포함하였으며 오류가 발생하지 않습니다.