VC6使いがVC8 Expressを使ってみるスレ

このエントリーをはてなブックマークに追加
16WTLの使い方 1/2
スレが賑わうように、あえてこっちのスレに書くぜ

■VC8 ExpressとPlatformSDKをインストールする(>>2のリンクに両方ある)

■ExpressのTools > Option > Project... > VC++ Directoriesと開き、次のパスを通す

 Executable files: C:\Program Files\Microsoft Platform SDK\Bin (デフォルト時)
 Include files: C:\Program Files\Microsoft Platform SDK\include (デフォルト時)
 Include files: C:\Program Files\Microsoft Platform SDK\include\atl (デフォルト時)
 Library files: C:\Program Files\Microsoft Platform SDK\lib (デフォルト時)

■デフォルトでC:\Program Files\Microsoft Visual Studio 8\VC\VCProjectDefaultsにある
 corewin_express.vspropsファイルをエディタで開き
 AdditionalDependencies="kernel32.lib"
 を
 AdditionalDependencies="kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib"
 に変更(すると便利という程度か)

■デフォルトでC:\Program Files\Microsoft Visual Studio 8\VC\VCWizards\AppWiz\Generic\Application\html\1033にある
 AppSettings.htmファイルをエディタで開き、441行目から444行目を次のようにコメントアウトする
 // WIN_APP.disabled = true;
 // WIN_APP_LABEL.disabled = true;
 // DLL_APP.disabled = true;
 // DLL_APP_LABEL.disabled = true;
 これで新プロジェクトでWin32 Consoleアプリを選んだときのウィザードにて、
 Windows Application、DLL、Libが選べるようになる
17WTLの使い方 2/2:2005/11/11(金) 08:08:56
■先ほどパスを通したatlフォルダにあるatlwin.hファイルを開き、
 1725行目の関数を次のように修正(バックアップした方がいいかも)
BOOL SetChainEntry(DWORD dwChainID, CMessageMap* pObject, DWORD dwMsgMapID = 0)
{
int i; //←これね
// first search for an existing entry

■同様に、atlbase.hファイルの287行目を修正する(コメントアウトして2行追加)
/*
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)

■まだ入れてないならWTLをhttp://wtl.sf.netからダウンロードし解凍
 WTLメンバーならば参考上のアドレスからsetup80express.zipをダウンロードして実行
 メンバーでないなら、泣きながら自分でWTLを解凍したフォルダのincludeへパスを通す


■参考というか引用
Baryon Lee 「Use WTL under VCExpress」
http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/default.aspx
http://groups.yahoo.com/group/wtl/message/12850