게임 개발/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 폴더를 사용하지 않고 바로 파일 이름만으로 포함하였으며 오류가 발생하지 않습니다.

반응형