반응형
이제 유니티가 아닌 언리얼 공부를 위해 공식 홈페이지에 있는 언리얼 튜토리얼을 따라하다
헤더 포함문제에 부딫혔다.
아래는 공식 홈페이지에 있는 튜토리얼의 공식 코드
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" 보다 위에 선언해야 한다는 것.
위와 같이 헤더 위치를 바꾸고 이상 없이 진행 확인...
엔진 버전이 업데이트 되면서 튜토리얼도 확인해주었으면...
반응형