WTL에서 ATL 단순개체 추가할 수 없는 경우 해결방법
WTL 프로젝트를 생성하여 'ATL 단순개체'를 추가시에 visual studio에서 아래와 같이 에러를 출력할 때가 있다. 이는 visual studio 에서 WTL 프로젝트의 모듈네이밍을 인식하지 못해서 발생하는 문제로 네이밍만 추가해주면 해결할 수 있다.
이 예제는 Visual Studio Ultmate 2013 버전으로 작성되었습니다.
1. 아래 경로로 이동한 다음 Common.js 파일을 편집기로 연다
x86
C:\Program Files\Microsoft Visual Studio 12.0\VC\VCWizards\1042
x64
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\VCWizards\1042
2. 찾기 (ctrl + f) 를 누르고 검색어를 function IsATLProject(oProj) 로 하여 함수 엔트리를 찾습니다.
3. 몇 줄 아래에 보면 "if (strTypeString == "ATL::CComModule" || strTypeString == "ATL::CAutoThreadModule")" 부분이 있는데 이 부분을 아래와 같이 수정합니다.
if (strTypeString == "ATL::CComModule" || strTypeString == "ATL::CAutoThreadModule")
▼
if (strTypeString == "ATL::CComModule" || strTypeString == "ATL::CAutoThreadModule" || strTypeString == "WTL::CServerAppModule" || strTypeString == "WTL::CAppModule" || strTypeString == "CServerAppModule" || strTypeString == "CAppModule")
3. 저장을 하고 visual studio를 재실행하여 잘 사용합니다.
4. 또는 아래 파일을 다운로드하여 붙혀넣기 합니다. (Visual Studio 2013 Ultmate 버전용)
참고 사이트 : http://ginstrom.com/scribbles/2009/11/18/implementing-idochostuihandler/