Skip to main content.
株式会社インデペンデンスシステムズ横浜への開発御依頼はこちらから(PR)

Sunday, March 18, 2007

Visual C++ 2005 Express EditionでのMicrosoft Platform SDKの利用

Visual C++ 2005 Express EditionでMicrosoft Platform SDKを利用してWin32プログラミングをするための環境等についてです。Visual C++ 2005 Express Editionをインストールしただけでは、.NET Framework アプリケーションを構築することは出来ますが、従来のWin32プログラミングをするためには、インストール後にいくつかの手順が必要になります。

(※2009年3月31日追記 新規でWin32の開発環境を構築する場合は、Visual Studio 2008 Expess Edtionの方が簡単です。以下も参考にして下さい。
DirectShowの開発環境(WindowsSDKのインストール)
追記はここまでです。)

基本的には、以下のページを見ながら進めればいいのですが、気づいた事についてです。
Visual C++ 2005 Express Edition と Microsoft Platform SDK を一緒に使う

Microsoft Platform SDKについて
どうも上のページに出ているバージョンより、以下のバージョンの方が新しいようです。バージョンがWindows Server 2003 R2とありますが、その他のOSへもサポートされているようです。Web Install版、Full版、ISO形式版のインストールがあります。私は、Full版でインストールしてみました。

Microsoft Windows Server 2003 R2 Platform SDK Web Install
Windows Server 2003 R2 Platform SDK Full Download
Windows Server 2003 R2 Platform SDK ISO Download

ディレクトリ設定について
あと、Microsoftのページの手順3の [オプション] ダイアログ ボックスは、メニューのツールから一番下、オプションです。ディレクトリの設定については、以下のように見てください。
ページ上の表記 → 実際のVisual C++ 2005 Express Editionでの表示
[プロジェクトとソリューション] → [プロジェクトおよびソリューション]
[Visual C++ フォルダ] → [VC++ ディレクトリ]

Executable ファイル → 実行可能ファイル
Include ファイル → インクルードファイル
Library ファイル → ライブラリファイル

MFCについて(※詳細は未確認情報)
Visual C++ 2005 Express Editionには、MFCとATLは含まれていません。(こちらを参照して下さい。)但し、Microsoft Platform SDKをインストール(Full版の場合でWeb Install版は未確認です。)すると、MFCのインクルードファイルと64ビット版らしきLibファイルが含まれます。このMFCは古いバージョン(VC++ 6.0ぐらい?)のようで、もちろん、64ビット版らしきLibファイルではXPの32ビット版ではリンクは出来ませんでした。

試しに、適当にMFCのコードを書いて、VC++ 6.0のMFCのLIBファイルを持ってくると、コンパイル、リンクまで通って、MFCの部分も動作したみたいです。ただ、リソース(ダイアログ画面)の編集は出来ないようです。ということで、私はVisual C++ 2005 Express Editionでは無理にMFCは使わないようにします。

リソースエディタについて
Visual C++ 2005 Express Editionでは、リソースエディタをサポートしていないようです。ということは、別にMFCに限らず、Win32アプリケーションでメニューやダイアログを作成するにはちょっと厳しいでしょうか。手書きで何とかするか、フリーのリソースエディタを探す、あるいは、製品版を使う(※製品版があれば、Express Editionは必要ないでしょうけど。)という方法があるでしょうか。

まとめ的に
こうやって見ていくと、Visual C++ 2005 Express Editionでは本格的なWin32プログラミングはちょっと難しいでしょうか。ということは、C言語の基本的な習得、Win32プログラミングの基本的な習得を考えている方向けということになるでしょうか。その場合、Visual C++ 2005 Express Edition以外のフリーの開発環境もあります。もちろん、Visual C++ 2005 Express Editionでは.NETプログラミングも出来ますけど、VC++の仕様でわざわざ.NETプログラミングをすることはあまりないのではと思います。.NETプログラミングならC#の方がいいかと私は思います。こういったところです。
(※2009年3月31日追記 今さらですが、C++/CLIの仕様であれば、.NETプログラミングをする場合もあるかなと考えています。今のところそういう機会はないですが。
Visual C++ 2005 いままたC++が熱い!「C++/CLI」として大進化したVisual C++ 2005

Windowsプログラミング関連記事