IT

dereferencing pointer to incomplete type 오류시 체크 사항

심량 2018. 10. 12. 11:59

공개된 소스를 가져다가 수정하여 컴파일을 하는 경우 종종 발생하는 dereferencing pointer to incomplete type 오류를 만날 수 있어서 이 경우 체크할 상황에 대해 정리하겠습니다.


  • include 가 안되어 있는 경우
    • 보통은 헤더들이 연결되어 헤더 하나만 include 해도 기존 소스에서 사용하던 자료구조를 그대로 사용할 수 있지만, 그렇지 않은 경우에 발생할 수 있습니다. 해당 자료구조가 포함되어 있는 곳이 어느 파일에 있는지 검색한 후 해당 파일을 include 해줍니다.
  • 경로가 제대로 설정이 안된 경우
    • 헤더 파일도 있고 include 도 있는 경우, 경로 설정이 제대로 되어 있지 않을 수 있습니다. 기존 소스에서 해당 자료구조를 사용하는 경우에 Makefile 등에 -I 옵션에 정의된 경로를 참고하여 반영하고 그런 내용도 없다면 직접 -I 옵션을 추가해줍니다.
  • 오타가 있는 경우
    • 수정하는 과정에서 미묘한(!) 오타가 있는 경우가 많습니다. 철자를 확인해봅니다.