« 大谷育江さん、復帰 | トップページ | Amazon.co.jp: DVD(アニメ) / トップセラー (2006年5月16日 6時40分現在)(BlogPet) »
素の Visual Studio C++ 2005 Express Edition では、DLL どころか Win32 アプリケーションは作成できません。Win32 アプリケーションを作成できるようにするためには、Platform SDK をダウンロードし、インストールする必要があります。
すでに、Platform SDK がインストール済みの状態で、後から Visual Studio C++ 2005 Express Edition をインストールする場合は、VC++ Express のインストール時に自動的に Win32 アプリケーションを作成するためのテンプレートが組み込まれますが、先に Visual Studio C++ 2005 Express Edition をインストールし、後から Platform SDK をインストールする場合は、以下のような作業をすることで、Win32 アプリケーションを作成することができるようになります。詳細は「Using Visual C++ 2005 Express Edition with the Microsoft Platform SDK」を参照してください(1033版に合わせて書かれたものなので、ちょっと記述が古いです。ちなみに、2006年5月17日時点では 1041版が最新です)。
(2006年8月16日追記: 1041版に対応して書かれたもの、かつ日本語で書かれたものが公開されています。「Visual C++ 2005 Express Edition と Microsoft Platform SDK を一緒に使う」を参照してください。とっちゃん氏の「Visual Studio 2005/Visual C++ 2005 Express Edition に PlatformSDK を統合する(改訂版)」という記事も参考になります)
[VC\VC_OBJECTS_PLATFORM_INFO\Win32\Directories] Include Dirs=$(VCInstallDir)include;$(VCInstallDir)PlatformSDK\include;$(FrameworkSDKDir)include;C:\Program Files\Microsoft Platform SDK\Include Reference Dirs=$(FrameworkDir)$(FrameworkVersion) Library Dirs=$(VCInstallDir)lib;$(VCInstallDir)PlatformSDK\lib;$(FrameworkSDKDir)lib;$(VSInstallDir);$(VSInstallDir)lib;C:\Program Files\Microsoft Platform SDK\Lib Source Dirs=$(VCInstallDir)crt\src Exclude Dirs=$(VCInstallDir)include;$(VCInstallDir)PlatformSDK\include;$(FrameworkSDKDir)include;C:\Program Files\Microsoft Platform SDK\Include;$(FrameworkDir)$(FrameworkVersion) Path Dirs=$(VCInstallDir)bin;$(VCInstallDir)PlatformSDK\bin;$(VSInstallDir)Common7\Tools\bin;$(VSInstallDir)Common7\tools;$(VSInstallDir)Common7\ide;$(ProgramFiles)\HTML Help Workshop;$(FrameworkSDKDir)bin;$(FrameworkDir)$(FrameworkVersion);$(VSInstallDir);$(PATH);C:\Program Files\Microsoft Platform SDK\Bin
AdditionalDependencies="kernel32.lib" />
AdditionalDependencies="kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib" />
WIN_APP.disabled = true; WIN_APP_LABEL.disabled = true; DLL_APP.disabled = true; DLL_APP_LABEL.disabled = true;
// WIN_APP.disabled = true; // WIN_APP_LABEL.disabled = true; // DLL_APP.disabled = true; // DLL_APP_LABEL.disabled = true;
以上で、VC++ 2005 Express でも Win32アプリケーション(と DLL)が作成できるようになります。
コマンドラインで DLL をビルドする方法は 「EmEditorのプラグインをVisual C++ 2005 Express Edition で作成する」 が参考になります。この記事は、VC++ 2005 Express で MFC を利用する上での参考(ヒント)にもなるので、一通り目を通しておくといいと思います。
次に、統合開発環境の方で Win32アプリケーションや DLL を作成する方法ですが、VC++ 2005 Express を起動した後、「ファイル - 新規作成 - プロジェクト」と辿り、「新しいプロジェクト」ダイアログを開きます。このダイアログで「プロジェクトの種類」として「Win32」を選択すると、「Win32 コンソールアプリケーション」というテンプレート(ウィザード)が選択肢として表示されますので、それを選択し、新しいプロジェクトを作成してください。
プロジェクト名(例えば、dlltest)を入力して、「OK」ボタンをクリックします。
「Win32 アプリケーションウィザード」が表示されるので、「次へ」をクリックします。
アプリケーションの種類は「DLL」を選択し、「完了」をクリックします。
以上で、プロジェクトが生成されるので、あとは、ソースファイルをがしがし書いて、作りたい DLL を作成するだけです。
ソースが書けたら、必要に応じて、「プロジェクト」のプロパティをいじってビルド環境を整え、ビルドします。この辺は、従来の Visual C++ と同じです。Visual C++ Ver.6 の場合は、まだ「プロパティ」の概念が導入されていないので、「プロジェクト - 設定」や「ビルド - 構成」 などをいじって目的を達成していましたが、Visual C++.NET 2002 以降は、プロパティをいじるだけでいいので、少し楽になっています。
今まで Visual C++ Ver.6 で DLL を作成していた場合は、そのプロジェクトファイルを持ってきて、VC++ 2005 Express で開けば(ソリューションファイルに変換すれば)、自動的に(それなりの)プロパティの設定が実行されるので、そのままビルドすれば OK です。多少、warning が出ると思いますが、とりあえず、無視して OK。あとでじっくりつぶしていきましょう。
投稿者: tsupo 2006.05.17 午前 05:31 | 固定リンク | | | | |
この記事のトラックバックURL:
この記事へのトラックバック一覧です: Visual C++ 2005 Express Edition で DLL を作成する: