몇 일 전에도 집에서 작업 할게 산더미 같이 많은데 이런 에러가 나는겁니다. 그땐 컴파일러가 고장난거다 싶어서 그냥 학교가서 작업했습니다. 그때 일은 까먹고 집에와서 작업을 하려는데 똑같은 에러가 나는겁니다. 뷁! 정말 컴파일러가 고장인가 싶어 압축해서 친구한테 돌려봐달라고 부탁했습니다. 그 친구도 에러나는 모양인지 win32어플리케이션-win32콘솔의 차이에서 클래스를 인식하지 못한다는 겁니다. 워낙 클래스 인터페이스 선언 후 세미콜론도 잘 빼먹고 구현 부에서 클래스에 관한 네임스페이스 선언도 빼먹는지라 여기저기 다 살펴봅니다. 이상한게 없습니다. 헤더도 분명히 include되있고, 오타도 없고, 세미콜론도 빠진데가 없고.. "에잇 몰라!" 그러고 일단 잡니다. 모기가 많아서 잠을 설치다 세벽 5시에 일어납니다. 일단 작업하라고 깨워줘서 고맙지만 모조리 잡습니다. 잡는 놈마다 배가 볼록해서는 아까운 제 피가 터집니다. 지난 밤 말도 않되는 오류가 생각나서 오기로 이것저것 해봅니다. 어플리케이션에서 콘솔모드로 다시 생성해서 만들어보고 역시나 않됩니다. 혹시나 하는 마음에 precompile-header를 using에서 not-using으로 바꿉니다. 말도 않되게 2틀간 고생한걸 무색하게 할 정도로 잘 돌아갑니다. 6.0에서 바로 8.0으로 넘어와 precompile-header가 컴파일 과정에 어떤 역활을 하는 놈인지는 모르겠지만 요 놈 때문에 문제가 자주 생기나 봅니다. 왠만하면 not-using으로 체크하고 stdafx.h와 같은 기능을 하는 놈을 임의적으로 만들어 사용하는게 더 편할것 같습니다.
이유는 모르겠으나 헤더파일간 충돌이 의심됩디다. HINSTANCE나 BOOL, UINT같은 제정의 타입의 자료형을 쓸려고 MSDN을 검색했더니 "WinDef.h"를 추가하랍디다. 그래서 추가했더니 뜬금없이 "Winnt.h"에서 에러가 나오는게 아닙디까? 이것도 해보고 저것도 해보고 줄어들줄 모르는것이 에러요, 느는것은 한숨뿐이뢰다. Windef.h 대신에 Windows.h를 써줬더니 그 많던 에러가 온데간데 없이 사라진게 아니오. 이거 무슨 귀신이 곡할 노릇이오? 아는 분 있으면 한 번 속 시원하게 얘기해주구료.