KoreanFoodie's Study

[언리얼] Unreal unresolved external symbol 에러 본문

Game Dev/Unreal C++ : Dev Log

[언리얼] Unreal unresolved external symbol 에러

GoldGiver 2022. 7. 20. 22:59

Unreal unresolved external symbol 에러

오랜만에 언리얼을 켰는데 다음과 같은 에러가 발생했다. 

일반적으로, 크게 두 가지로 나뉘는데....

 

 

1. 함수를 선언만 하고 구현을 안함

링커에서 에러가 났다는 건, 링킹 과정에서 적절한 함수를 찾지 못했다는 의미이기도 하다.

따라서 선언만 해놓고 실제로 구현을 하지 않은 메소드가 있는지 체크해보도록 하자!

근데 이 경우는 구현이 안된 함수가 있다고 알려줘서 쉬운데...

 

 

2. 적절한 모듈을 추가하지 않음

사실 이 경우가 매우매우 빡친다. 왜냐하면 명시적으로 원인이 드러나지 않기 때문이다. 하지만 에러로그를 잘 보면 힌트를 찾을 수 있는데...

실제 예시를 보자.

위 경우에서는, 잘 보면 LNK2019 에러에서 BehaviorTree 관련에서 뭔가 링킹이 안되는 것을 확인할 수 있다.

언리얼에서는 AI 를 쓰려면 .Build.cs 파일에 AIModule 을 임포트해주어야 하는데, 이를 하지 않아 생긴 문제라는 것을 알 수 있다!

따라서 다음과 같이 AIModule 을 추가함으로써 문제를 해결할 수 있다.

PublicDependencyModuleNames.AddRange(new string[] { 
    "Core", 
    "CoreUObject", 
    "Engine", 
    "InputCore", 
    "HeadMountedDisplay", 
    "UMG", 
    "NavigationSystem", 
    "AIModule" });
Comments