スレが賑わうように、あえてこっちのスレに書くぜ
■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が選べるようになる
■先ほどパスを通した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