Visual Studio 2008 Express Edition에서 WTL 사용하기

Visual Studio 2008 Express Edition은 Microsoft 사에서 무료로 배포하는 IDE 입니다. 한글화도 잘 되어 있고, 무엇보다 무료라는 점이 참 마음에 들지만, MFC도 없고 SDK 조차 없어서 직접 설치/설정해야 하는 번거로움이 꽤 많습니다.

개인적으로는 MFC가 원래 마음에 들지 않았기 때문에, MFC가 없는 것은 불편하지 않았지만 설정을 직접 하는 과정이 무척 귀찮았습니다. 그 중에서도 얼마전부터 관심을 가지고 있는 WTL은 설정하는 과정이 다소 까다로워 기록도 할 겸해서 블로그에 남겨둡니다.

1. WTL 설치

우선 WTL을 소스포지에서 다운로드 받아 원하시는 폴더에 압축을 해제합니다. C:\WTL 도 좋고 C:\Program Files\WTL 도 좋고, WTL대신 WTL80을 사용하셔도 좋습니다. Azyu님이 기존의 스크립트를 수정해 작성하신 AppWizVC9.zip 파일을 다운로드 받습니다. WTL이설치된폴더\AppWiz\ 에 다운로드 받은 파일의 압축을 해제하면 setup90.js 와 setup90x.js 파일이 나타날 것입니다. 여기서 setup90x.js 를 탐색기에서 더블 클릭해서 실행하면 됩니다. 자세한 내용은 Azyu님 블로그의 글을 참고하세요.

2.  SDK 설치

당연히 SDK도 다운로드 받아 설치해야 합니다. 자세한 내용은 위키 피디아의 글을 참고하세요.

3. Trouble Shooting

– 컴파일 도중 ‘ATL.LIB’이 없다는 메시지가 나타나면…
프로젝트 -> 속성 -> (좌측에서)구성 속성 -> 일반을 선택하고, “ATL 사용” 항목의 값을 “ATL에 정적 링크”로 바꿉니다.

– ‘atlthunk.lib’ 파일을 열 수 없다는 메시지가 나타나면…
WTL폴더\include\atlbase.h 파일을 메모장 등의 텍스트 에디터에서 열고,

#define AllocStdCallThunk() __AllocStdCallThunk()
#define FreeStdCallThunk(p) __FreeStdCallThunk(p)

#pragma comment(lib, "atlthunk.lib")

부분은 삭제하고 삭제된 위치 바로 아래에 다음과 같은 내용을 추가한다.

#define AllocStdCallThunk() HeapAlloc(GetProcessHeap(), 0, sizeof(_stdcallthunk))
#define FreeStdCallThunk(p) HeapFree(GetProcessHeap(), 0, p)

Leave a Reply