0

依存関係の問題について助けを求めています。簡単に言うと、より大きな VC++ ワークスペース内に makefile プロジェクトを含めましたが、サブプロジェクトは必要でない場合でも常に再構築されます。

詳細

(プライマリ) Visual C++ 6.0 実行可能ファイルとより小さな Visual Basic 6.0 DLL を含む、いくつかの異なるモジュールで構成される大規模なプロジェクトを継承しました。

現在、各 IDE を起動し、独自の環境から各コンポーネントを生成することにより、手動でビルドされています。これを VC++ IDE 内からワンクリック ビルドにしたいと考えています。(最終的な目標は、メイクファイルをエクスポートし、プロセス全体を自動化し、夜間ビルドを開始することです。)

このために、「Makefile」プロジェクトを VC++ ワークスペースに追加しました。makefile は、コマンド ラインから VB コンパイラを起動して VB DLL をビルドします。

問題は、VB プロジェクトが常にそれ自体を再構築し、ビルド プロセスに数分かかることです。すべての VB ソース ファイルを依存関係として追加することでこれを回避できると思いますが、VB コンポーネントが変更されるたびに開発者が VC++ ワークスペースを更新する必要があるため、メンテナンスの問題になる可能性があります。

すべてのソース ファイルを依存関係として VC++ プロジェクトに追加する以外に、DLL を再構築する必要がある場合にのみ VB を実行するように、ビルド プロセスをより選択的にする方法はありますか?

ご感想ありがとうございます!

4

1 に答える 1

1

依存関係のスキャンを自分で行うことができます。任意の VB ソース ファイルが VB ビルドのビルド出力よりも新しい場合にのみ、VB ビルドをトリガーします (ワイルド カードを使用して再帰的にスキャンできる場合、つまり明示的な構成はありません)。VB プロジェクトが使用する参照にさらに注意する必要がある場合があります。

もちろん、これには手動のメイクファイル作成が必要です。VB6は依存関係のチェック自体をサポートしていないように見えるため、純粋にIDEベースのソリューション(言及した二重簿記を必要としない)は考えられません。

VB プロジェクトのナイトリー ビルドの実装を開始したばかりなので、これは、このプロジェクトが長期間にわたって開発/保守されている可能性があることを示しているようです。この長い時間自体が、VB プロジェクトを VB.NET に移植する必要があることを示している可能性があります。これにより、VB プロジェクトのビルド プロセスが大幅に改善されます。

于 2009-01-10T17:10:02.613 に答える