UE4

[UE4] LNK2001 LNK2019 ERROR 해결법

Honey Badger 2022. 8. 11. 06:53

 원인

언리얼에서 어떠한 클래스를 상속받은 새로운 C++클래스를 만들었을 때 컴파일하면 에러가 발생하고, 에디터를 다시 켜봐도 켜지지 않는 경우가 발생한다. 삽질한 결과 LNK에러는 링크할 때 나는 오류인데 소스코드 오류가 아니라 초보자가 찾기 어렵다고한다. 결론은 선언부는 있으나 구현부가 없어 나는 오류로 언리얼의 경우엔 상속받고자 하는 클래스의 모듈이 추가되어있지 않아 발생하는 오류이다. 무려 14년전 글이지만 밑의 블로그가 도움이 많이 되었다 ㅠㅜ

https://rnathsus.tistory.com/40

 

해결

 먼저 비주얼 sln (솔루션파일)로 들어간다. -> 솔루션 탐색기로 프로젝트명.Build.cs 파일을 찾는다. -> 본인이 추가하고 싶은 부모클래스가 속한 모듈을 추가해준다.

여담

  밤새 공부하다보니 뇌빼기를 시전했다. 역시 한국말은 끝까지 들었어야하는데.. 책에서 클래스 만들라길래 만들었는데 저 오류나서 울고불고 구글링해서 해결했는데 알고보니 만드세요하고 다음장에 에러가 발생할테니 모듈을 추가하고 다시 컴파일하라는 문장이 써있었다. 내가 참 바보같이 느껴지면서도 책도 조금 원망스러웠다.. 그냥 추가하라고하지 뉴비 놀라게 오류발생시켜서 에디터 터트렸어야만 했냐!!!!!!

 

 

 

 

또 다른 해결법 등장

이번엔 LNK2019와 LNK2001오류가 함께 나타났다. 열심히 구글링하고 코드분석해본 결과 해더파일에 선언해둔 생성자를 코드파일에는 정의하지 않아서 일어난 오류였다. 혹시 같은 오류가 난다면 한번 헤더와 코드를 비교해가며 확인해보길 바란다.

'UE4' 카테고리의 다른 글

[UE4] 언리얼 코딩 표준  (0) 2022.09.26
[UE4] GameMode  (0) 2022.09.26
[UE4] 언리얼의 이벤트 함수  (2) 2022.09.26
[이득우 책] CHAPTER 12 오류발견  (0) 2022.08.24
[UE4] 언리얼의 핫리로드(Hot Reload)시스템  (0) 2022.08.09