GetLifetimeReplicatedProps 링크 오류
2022-12-23
GetLifetimeReplicatedProps 링크 오류
문제 발생
class AGameCharacter : public ACharacter
{
protected:
UPROPERTY(Replicated)
int isJumping;
public:
void GetLifetimeReplicatedProps(TArray<FLifetimeProperty>& OutLifetimeProps) const override;
}
위의 클래스를 상속받아 APlayerCharacter를 선언.
class APlayerCharacter : public AGameCharacter
{
protected:
UPROPERTY(Replicated)
bool isWalking;
}
이렇게 하면 링크 과정에서 Symbol 을 찾을 수 없다고 오류 남.
PlayerCharacter.gen.cpp.obj : error LNK2001: 확인할 수 없는 외부 기호 "public: virtual void __cdecl APlayerCharacter::GetLifetimeReplicatedProps(class TArray<class FLifetimeProperty,class TSizedDefaultAllocator<32> > &)const " (?GetLifetimeReplicatedProps@APlayerCharacter@@UEBAXAEAV?$TArray@VFLifetimeProperty@@V?$TSizedDefaultAllocator@$0CA@@@@@@Z)
PlayerCharacter.cpp.obj : error LNK2001: 확인할 수 없는 외부 기호 "public: virtual void __cdecl APlayerCharacter::GetLifetimeReplicatedProps(class TArray<class FLifetimeProperty,class TSizedDefaultAllocator<32> > &)const " (?GetLifetimeReplicatedProps@APlayerCharacter@@UEBAXAEAV?$TArray@VFLifetimeProperty@@V?$TSizedDefaultAllocator@$0CA@@@@@@Z)
원인
APlayerCharacter::isWalking 의 UPROPERTY에 Replicated 를 선언한 것 때문에, APlayerCharacter.generated.h 파일을 갱신할 때 자동으로 GetLifetimeReplicatedProps 선언을 추가 해 주게 된다. 그렇다 보니 APlayerCharacter::GetLifetimeReplicatedProps 의 구현을 찾을 수가 없게 되는 것 이였다.
