メイクファイル

このシリーズの各コード サンプルの makefile は汎用の Microsoft Win32 makefile であり、コマンド プロンプト ウィンドウからビルドすることを目的としています。 これらは Microsoft コンパイラおよびリンカー ツールを想定しており、他のツールで動作させるには何らかの変更が必要になる可能性があります。 ほとんどのコンパイラ/リンカーのコマンド ライン スイッチは、プラットフォーム ソフトウェア開発キット (SDK) に含まれる Win32.mak makefile インクルード ファイルで定義されたマクロによって指定されます。

Makeall.bat ファイルとそれぞれのコード サンプル makefile は、ビルドの性質を制御するためにコマンド プロンプト ウィンドウから呼び出すための、次の表に示す共通オプションをサポートしています。

Nmakeの呼び出し Makeall呼び出し 効果
nmake makeall デバッグ情報付きでコンパイルします。
nmake nodebug=1 makeall "nodebug=1" デバッグ情報なしでコンパイルします。
nmake profile=1 makeall "profile=1" プロファイリング情報を使用してコンパイルします。
nmake tune=1 makeall "tune=1" ワーキングセットチューナー情報付き。
nmake unicode=1 makeall "unicode=1" Unicode 用にコンパイルします。
nmake clean makeall clean 一時バイナリを削除します。
nmake cleanall makeall cleanall 生成されたすべてのファイルを削除します。

 

Makeall.bat の呼び出しには、示されているようにクォートが必要です。 nodebugprofile、および tune オプションは相互に排他的です。つまり、特定のコンパイル/リンクに対して、これらのオプションのうち 1 つだけを使用することも、いずれも使用しないこともできます。 サンプルを Unicode 文字列で実行するようにコンパイルするには、 "unicode=1" オプションを使用します。 デフォルトでは、従来の ANSI 文字列サポート用にコンパイルされます。これにより、任意の 32 ビット Windows オペレーティング システムで実行できるようになります。 Windows Server 2003 以降、および Windows 2000 以降では、Unicode の有無にかかわらず自由にコンパイルおよび実行できます。 APPUTIL は、個別にコンパイルする可能性のある他のコード サンプルと同じオプションで常にコンパイルされることに注意してください。 これは特に "unicode=1" オプションに当てはまります。

インストールされた 32 ビット C++ 統合開発環境 (IDE) を使用して、提供されている汎用 makefile を使ってサンプルをビルドできます。 これを行うには、IDE 内で汎用 makefile を「外部」 makefile として処理する必要があります。 提供される makefile には、Microsoft NMAKE 互換の make ユーティリティが必要です。

ほとんどの C++ IDE はこれらの makefile を外部として認識し、IDE の編集、ビルド、デバッグの多くの利点を依然として提供します。 たとえば、Microsoft Visual Studio 97 以降では、[ファイル] メニューの [ワークスペースを開く] を選択して、コード サンプル Win32 makefile の適切な名前のコピー (たとえば、Exeskel.mak) を開き、ワークスペースを作成できます。