Using WTL with Visual C++ 2005 Express Edition
Using WTL with Visual C++ 2005 Express Edition
Introduction
Visual C++ 2005 Express Edition was released on 11/7/2005. It has a great native C++ compiler and a smart editor. The best thing is that it is free. We can use it for our WTL programming for free. I posted the procedure for the same here on 11/9/2005. Now, I am submitting it to CodeProject.
Step by step
- Download and install Visual C++ 2005 Express Edition from MSDN.
- Download and install the Platform SDK, and update the Visual C++ setting as detailed here.
- Update the Visual C++ directories in the Projects section of the Options dialog box. Add the ATL path to the Include files (the path shown is the default, use the path to your actual location):
C:\Program Files\Microsoft Platform SDK\include\atl
- Change atlwin.h and atlbase.h in the ATL folder of the Platform SDK install as follows:
- Change
SetChainEntry
function at line 1725 of atlwin.h - define "int i
" at the first line of the function body.BOOL SetChainEntry(DWORD dwChainID, CMessageMap* pObject, DWORD dwMsgMapID = 0) { int i; // first search for an existing entry for(i = 0; i < m_aChainEntry.GetSize(); i++)
- Change
AllocStdCallThunk
andFreeStdCallThunk
at line 287 of atlbase.h to the new macros:/* Comment it PVOID __stdcall __AllocStdCallThunk(VOID); VOID __stdcall __FreeStdCallThunk(PVOID); #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)
- Change
- Download and install WTL from SourceForge:
- Download the AppWizard for Visual Studio 2005 Express from the link above this page, unzip and copy the JS file into the WTL\AppWiz folder, double click it to install the WTL Wizard into VC Express.
Enjoy WTL and VC Express free!
Some Problems
Because VC++ Express doesn't include a "Resource Editor", you will get an error when creating a Dialog or FormView. But, once the project and source files are created, you can open the project directly. If you can find a free resource editor, please tell me.
Comments: rvRoman told us of a free resource editor, and tsehonkit gave us a right link.