外部 DLL を利用するプロジェクトで DLL ファイルを自動的にコピーさせる方法
手でコピーするなんてナンセンスだ.Visual C++ 2008 Express Edition で実施した.
やったこと
- PRJ0019,カスタムビルドステップ,dll などの語を組み合わせて Web を検索
- VC++「カスタムビルド」メモ(Hishidama's VC++Memo "custom build") を参照
- 3時間消費
- BuildLog.htm を閲覧
トラブル
1>ldhs : warning PRJ0042 : ファイル 'sha256.dll' のカスタム ビルド ステップの Outputs プロパティは設定されていません。カスタム ビルド ステップはスキップされます。 1>sha256.dll をコピー 1>カスタム ビルド ツールはスキップされました。
1>Project : error PRJ0019: ツールはエラー コードを返しました : "sha256.dll をコピー"
原因
- カスタムビルドステップの理解不足
- ひしだまさんの記録により解決
- copy コマンドの不適切な使用
- 空白を含む可能性があるマクロ使用部に2重引用符をつけて解決
各プロパティシートに入力すべき内容
- コマンドライン
- copy "$(InputPath)" "$(OutDir)\"
- 説明
- $(InputFileName) をコピー
- 出力ファイル
- $(OutDir)\$(InputFileName)
- 追加の依存ファイル
- $(InputPath)