我が家にも今月末に Vista 搭載パソコンがやってくることになりました。 困ってしまうのは使っているアプリケーションソフトウェアのバージョンアップも余儀なくされることです。
そんなこんなで互換性情報を調べている時に Microsoft Visual C++ 2008 Express Edition を見つけました。 最近は無料の Visual Studio もあるのですね。 ちょっと感動してダウンロードしてしまいました。
これまで使っていた手持ちのソフトウェアは Visual C++ 6.0 です。 これは Vista に対応していません。 もっとも最近はめったに起動しないどころかインストールすらしていなかったという有様で、知識も VC++ 6.0 が現役だった頃のままで止まっています。というか既に失われた知識も一部あるような気がします。 なので、久しぶりに最新版の Express Edition を触って知識をリフレッシュしてみるかと思い立ったのでした。
インストールしてまず MFC を使ったアプリケーションを「新規作成」できないことに気づきます。 「あれ、MFC ってもう消えちゃったの?」
ちょっと調べてみるとWikipedia には Visual C++ 2008 に対応する MFC のバージョンが記載されていいます。 「別になくなったわけじゃないんだ。Express Edition だから Wizard 機能が省略されているのかも?」
そこで MFC を用いたサンプルプログラムをビルドしてみることにすると。
... fatal error C1083: include ファイルを開けません。'afxwin.h': No such file or directory
「げげ、afxwin.h が無いってどういうことよ!?」 ローカルドライブを探しても見つかりません…
更に調べると Express Edition には MFC が付属していないようです。 公式 FAQ に以下の通り記載されています。
31. Visual C++ 2008 Express Edition には MFC と ATL は含まれていますか。 いいえ。Visual C++ 2008 Express Edition には MFC と ATL は含まれていません。 MFC と ATL は Visual Studio 2008 Standard Edition 以上に含まれています。
私は MFC どっぷりの人なので、これでは Express Edition は使えないですねぇ。 かといって有償の Edition を購入する必要性も感じないし…
なお、公開されている Windows Server 2003 Platform SDK に含まれる MFC ライブラリは古くて使えないそうです(SP1 の事例、R2 の事例)。 また SDK for Windows Vista には MFC はついてきません。リリースノートの 5.5.4 に書かれています。