엔진/Unreal

헤더 포함 문제(Header #include)

QA Engineer - P군 2022. 1. 6. 18:27
반응형

이제 유니티가 아닌 언리얼 공부를 위해 공식 홈페이지에 있는 언리얼 튜토리얼을 따라하다

헤더 포함문제에 부딫혔다.

 

아래는 공식 홈페이지에 있는 튜토리얼의 공식 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#pragma once
 
#include "GameFramework/Pawn.h"
#include "CollidingPawn.generated.h"
 
UCLASS()
class HOWTO_COMPONENTS_API ACollidingPawn : public APawn
{
    GENERATED_BODY()
 
public:
    // Sets default values for this pawn's properties
    ACollidingPawn();
 
protected:
    // Called when the game starts or when spawned
    virtual void BeginPlay() override;
 
public:
    // Called every frame
    virtual void Tick( float DeltaSeconds ) override;
 
    // Called to bind functionality to input
    virtual void SetupPlayerInputComponent(class UInputComponent* InputComponent) override;
 
    UParticleSystemComponent* OurParticleSystem;
};
cs

UParticleSystemComponent* OurParticleSystem; 구분만 추가하면 된다고 했지만

어쩐일에선지 아래와 같은 오류가 출력된다.

 

[E0020 식별자 "UParticleSystemComponent"이(가) 정의되어 있지 않습니다.]

일단 해당 UParticleSystemComponent 클래스가 ParticleSystemComponent.h에 속해있는걸 알았으니

해당 헤더를 추가했다.

하지만 왜인지 아래와 같은 오류 메세지가 출력되었다.

"Error: #include found after .generated.h file - the .generated.h file should always be the last #include in a header"

 

그러던중 인터넷에서 해결 방법을 찾던 중에 헤더 순서에 대한 글을 발견 "XXXX.generated.h" 헤더의 경우

컴파일 전에 생성된다는 것 때문에 순서를 헤더 순서를 "XXXX.generated.h" 보다 위에 선언해야 한다는 것.

위와 같이 헤더 위치를 바꾸고 이상 없이 진행 확인...

엔진 버전이 업데이트 되면서 튜토리얼도 확인해주었으면...

반응형