S-JIS[2006-07-27/2007-09-27] 変更履歴

カスタムビルドメモ

Developer Studioでは、コンパイル(ビルド)の途中(または終了後)にバッチ処理を動かすことが出来る。

ビルドして生成されたファイルを所定の場所に自動的にコピーさせることが出来て便利。


生成ファイルを自動的にコピーする方法(VC++4.0)

以下の説明は、VC++4.0で、「testDll.dll」という生成ファイルを別の場所にコピーする例。

  1. メニューバーの「ビルド(B)」→「設定(S)」で「プロジェクト設定」ダイアログを開く。
     
  2. 「設定の対象(S)」ペインでプロジェクトの行を選択する。(例えば「testDll - Win32 Debug (testDll.dll)」)
     
  3. 右側の「カスタムビルド」タブを選択する。
    入力ファイル」欄には、(設定の対象に1ファイルだけを指定していた場合は)ファイル名が表示されているはず。このファイルがカスタムビルドの操作対象となる。
     
  4. 「説明(D)」テキストに説明文を入れる。この文章は、ビルドの実行中に表示される。
     
  5. ビルドのコマンド(C)」に以下のようなDOSコマンドを入力する。
    copy $(InputPath) "C:\vcpp\testCall\Debug"
  6. 出力ファイル(O)」に以下のように出力先ファイルを入力する。
    C:\vcpp\testCall\Debug\$(InputName).dll

これでビルドを実行すると、入力ファイル出力ファイルのタイムスタンプが比較され、入力ファイルが新しい場合に設定したコマンドが実行される。

$(InputPath)や$(InputName)というのはカスタムビルドのマクロで、カスタムビルドの実行時に実際のパスやファイル名に置き換わる。
これらのマクロは、下方の「ディレクトリ(I)」ボタンや「ファイル(F)」ボタンから選択することが出来る。


生成ファイルを自動的にコピーする方法(VC++.NET2003)

以下の説明は、VC++.NET 2003で、「test.dll」という生成ファイルを別の場所にコピーする例。[2006-07-28]

  1. メニューバーの「プロジェクト(P)」→「のプロパティ(P)」で「プロパティ ページ」ダイアログを開く。
     
  2. 左ペインで「構成プロパティ」⇒「カスタム ビルド ステップ」を選択する。
     
  3. 右ペインの各エリアに設定を入力する。
    エリア名 内容の例 備考
    コマンドライン copy "$(TargetPath)" "C:\vcpp\testCall\Debug"  
    説明 DLLコピー中 ビルド中に表示される文言
    出力ファイル C:\vcpp\testCall\Debug\$(TargetFileName)  

$(TargetFileName)が「test.dll」、$(TargetPath)はそのフルパスを表すマクロ。
「マクロ(M)」ボタンでマクロを選択できるが、名前に対してどんな値になるか表示されるのでVC++4.0より分かりやすくなった。


生成ファイルを自動的にコピーする方法(VC++2005)

以下の説明は、VC++2005で、「test.dll」という生成ファイルを別の場所にコピーする例。[2007-09-27]

  1. メニューバーの「プロジェクト(P)」→「のプロパティ(P)」で「プロパティ ページ」ダイアログを開く。
     
  2. 左ペインで「構成プロパティ」⇒「カスタム ビルド ステップ」(⇒「全般」)を選択する。
     
  3. 右ペインの各エリアに設定を入力する。
    エリア名 内容の例 備考
    コマンドライン copy $(TargetPath) C:\vcpp8\testCall\Debug VC++2003と異なり、ダブルクォーテーションを付けるとエラーになる…
    説明 DLLコピー中 ビルド中に表示される文言
    出力ファイル C:\vcpp8\testCall\Debug\$(TargetFileName) カスタムビルドによって更新されるファイル(コピー先)
    追加の依存ファイル $(TargetPath) 通常のビルドによって作られるファイル(コピー元)

ほぼVC++2003と同様。


VC++ページへ戻る / 技術メモへ戻る
メールの送信先:ひしだま