문제 : 엔진 플러그인의 헤더파일을 include하려는데 인텔리전스에 나오지 않는다.

 

 

새벽이라 집중력이 떨어져서 막무가내로 검색하면서 찾다가

거의 3시간 구글과 똥꼬쇼 하다가

에러를 다시 자세히 보고 유추했더니 성공했다..

 

 

그래서 

지금 중력 플러그인을 적용중인데

bulid.cs에 모듈이름을 넣어도 인텔에 하나도 안뜨더라...

Gravity~.h 를 찾지만 개같이도 안 뜨는 모습

 

그래서 당연히 정상이 아닌 줄 알았다..

 

문제 해결

 

다 상황이 다르겠지만 이번 같은경우는 두가지 문제가있었다.

 

  • 첫번째

인텔리전스에 뜨지않아도 include가 정상적으로 돌아감..

이게 제일 어이 없었는데 안떠도 되더라....

인텔 오류인듯하다..

 

  • 두번째

플러그인 헤더파일이 두가지가 있다.

[Character형 클래스 A]

[Character Movement Component파생형 클래스 B]

 

A는 B를 전방선언중이다.

 

A는 기존 Character Movement Component를 B로 변경하려 전방선언하여

생성자에 FObjectInitializer.SetDefaultSubobjectClass를 사용하여 변경하는 상황이다.

 

 

언뜻 보면 아무 문제 없지만

 

FObjectInitializer.SetDefaultSubobjectClass 내부에 템플릿으로 들어온 클래스에 StaticClass()가 실행되기에

A에 B를 전방선언만 해놓았기 때문에 B가 정의가 없어 오류가 났던 것이다.

 

플러그인이 잘 적용되었는지 A만 Include하여 테스트 했던 나는

플러그인이 추가되지 않은건지 고민하며 헛짓거리를 하며 시간을 보냈다..

 

결국B도 같이 Include하여 해결했다...

 

근데 자세히 생각해보면 이게 같이 Include한다고 하여서 해결되는 문제인가? 했다.

일단 이건 다른 글에 자세히 적어야겠다.

 

느낀점

검색부터 하지말고 일단 오류를 자~~~세히 보고 올라타서 끝까지 보자^^

+ Recent posts