0

2 つのソリューションで構成される 1 つのプロジェクト ( c/c++ ) があります。1 つは「build_model」、もう 1 つは「fit_model」です。「build_model」の実行中に「fit_model」が呼び出すのと同じディレクトリにすべてのバイナリを配置するようにプロパティを設定しました。

というわけで、まずは「build_model」をコンパイルしてみたらうまくいきました。すべてのファイルが .../bin\ に置かれます。次に、「fit_model」をコンパイルします。これも OK です。すべてのファイルは .../bin\ に配置されます すべて正常に動作します。「fit_model」の「Clean」と「Rebuild」を行っても、バイナリが削除されるだけで再作成されます。それはリリースビルド用です。「build_model」のクリーン&リビルドも、それ自体のバイナリのみをクリーンアップします(そうあるべきです)。

しかし、デバッグモードに切り替えると、「fit_model」のクリーンを実行するとすぐに、.../bin\ フォルダー内のすべてのバイナリが削除されます。これには、独自のバイナリと「build_model」のバイナリが含まれます。これは私が望むものではありません。

したがって、これはリリースでは発生せず、デバッグのクリーンと再構築でのみ発生します。

どの設定を変更すればよいですか?

(VS2010、Windows7)

編集:問題は、異なるディレクトリでも同じことをすることです。また、デバッグとリリース用に「d」と「r」を $(ProjectDir) に追加してもうまくいきません。

パスを見つける方法がまったくわかりませんか?fitbuildの 2 つのサブディレクトリを持つbinディレクトリがあります。

では、Clean for Solution fit_modelが自分のfit以外のビルドディレクトリも「クリーン」にするのはどうしてでしょうか?

4

1 に答える 1

1

ハンスが提案したように、賢明なことをしたくないし、別のディレクトリを使用したくない場合は、出力ファイルの名前を変更する必要があります。

プロジェクトのプロパティ ウィンドウ ([構成プロパティ] → [全般]) には、「ターゲット名」というプロパティがあります。デフォルトはプロジェクトの名前です。デバッグ ビルドとリリース ビルドでのものに変更する必要があります。

dデバッグ バージョンの名前の末尾にa を追加するなど、簡単なことを行うことができます。たとえば$(ProjectName)d、プロジェクトの名前が自動的に取得されます。

于 2013-08-24T14:50:56.723 に答える