ここよりWTL81_9127.zipを持ってくる。あと日本語化のために、ここより、WTL81_9127_ja.zipをいただいてくる。
で、C:\Program Files\WTL81 あたりに解凍し、"C:\Program Files\WTL81\AppWiz\setup80x.js"を実行する。これで一応インストール完了。
ただし、このままだとコンパイルエラーが出るときがあるらしいので(PlatformSDKのATLが古いらしい)、以下のように修正する。(diffなんて使ったのは何年振りだろうか??)
%MSSdk%\Include\atl\atlwin.h
>> diff -c atlwin_ORG.h atlwin.h"int"を追加。
>> diff -c atlwin_ORG.h atlwin.h
*** atlwin_ORG.h Fri Mar 03 23:19:14 2006
--- atlwin.h Tue Oct 20 09:52:40 2009
***************
*** 1750,1756 ****
// search for an empty one
! for(i = 0; i < m_aChainEntry.GetSize(); i++)
{
if(m_aChainEntry[i] == NULL)
{
--- 1750,1756 ----
// search for an empty one
! for(int i = 0; i < m_aChainEntry.GetSize(); i++)
{
if(m_aChainEntry[i] == NULL)
{
%MSSdk%\Include\atl\atlbase.h
>> diff -c atlbase_ORG.h atlbase.h
*** atlbase_ORG.h Fri Mar 03 23:19:12 2006
--- atlbase.h Mon Oct 19 15:26:45 2009
***************
*** 284,289 ****
--- 284,290 ----
};
#pragma pack(pop)
+ /* http://www.codeproject.com/KB/wtl/WTLExpress.aspx
PVOID __stdcall __AllocStdCallThunk(VOID);
VOID __stdcall __FreeStdCallThunk(PVOID);
***************
*** 291,296 ****
--- 292,301 ----
#define FreeStdCallThunk(p) __FreeStdCallThunk(p)
#pragma comment(lib, "atlthunk.lib")
+ */
+
+ #define AllocStdCallThunk() HeapAlloc(GetProcessHeap(), 0, sizeof(_stdcallthunk))
+ #define FreeStdCallThunk(p) HeapFree(GetProcessHeap(), 0, p)
#elif defined (_M_AMD64)
#pragma pack(push,2)
"PVOID ..."から"#pragma"までコメントアウトして、下2行を追加。
情報源は、ここ。
0 件のコメント:
コメントを投稿