6

Visual Studio 2010 で Visual C++ ソリューションをビルドするたびに、プロジェクト全体 (ソリューション全体ではない) が再コンパイルされます。

VSが変更されたファイルと依存ファイルのみをコンパイルするようにするには、どこかにフラグまたは構成が必要です。それはどこにある?

更新:

  • My project's configuration properties\C/C++\Code Generation\Enable Minimal Rebuild に「Yes (/Gm)」を設定します。F7 ですべてのプロジェクトのファイルをコンパイルします。
4

5 に答える 5

6

さらに、次のようなメッセージが表示される場合:

「AlwaysCreate」が指定されたため、「.\Release\SomeLib.unsuccessfulbuild」を作成しています。

ビルド時に、プロジェクトの 1 つがディスク上に存在しないヘッダー ファイルを参照している可能性があります (ここここを参照)。

最初のリンクには、この状況をチェックするための小さな C# スクリプトも含まれています。修正するには、存在しないヘッダー ファイルへの参照をプロジェクトから削除するだけです。

アップデート

「作成」にプリコンパイル済みヘッダーを設定している可能性があります。修正するには、ソリューション ブラウザーでプロジェクトを右クリックし、properties -> C/C++ -> Precompiled Headers -> Precompiled Headerを選択します。設定をCreateからUse or Not Using Precompiled Headersに変更します。

于 2011-01-20T10:17:09.127 に答える
3

VS は、デフォルトで希望どおりに動作する必要があります。何かが不安定になっているように聞こえます。プロジェクトをクリーンアップし、設定ファイル ( .suo / vcproj. .user / など) を削除します。これにはいくつかの理由があります。

  • 破損した設定ファイル
  • システムの日付/時刻 / タイム ゾーンの変更で混乱する vc
  • ソース ファイルの権限の問題
于 2010-12-21T20:44:27.863 に答える
2

tul の投稿は私たちのために推進されました。これは、常に再コンパイルするプロジェクトもいくつかあったためです。その結果、次のことがわかりました。

  • はい、オプション 'Minimal Rebuild' は、ビジュアル 2010 プロジェクトで破損していました。これは、ビジュアル 2005 から変換されたときに発生する可能性があります。
  • 特定のプロジェクトの「破損」の兆候は、このオプションが割り当てられていること、つまり太字になっていることです。これは、Release などの一部の構成、または x64 などの一部のアーキテクチャにのみ適用される可能性があります。太字の「いいえ」の場合もありますが、それでも再コンパイルされます。

FIX は次のステップと同じくらい簡単です。

  • ソリューションで 1 つまたはいくつかのプロジェクトを選択する
  • プロジェクトを右クリック -> プロパティ
  • 構成を選択: 「すべての構成」
  • プラットフォームを選択: 「すべてのプラットフォーム」(x32/x64 の両方がある場合)
  • C++ グループを展開
  • 「コード生成」に進む
  • オプション「最小限の再構築を有効にする」に注意してください-プロジェクト/構成が異なると値が異なるため、おそらく空になります
  • このオプションを NO に設定します
  • ボタンをクリックして適用
  • このオプションを再び「親から継承」に設定します
  • 適用ボタンをクリックします。いいえ、このオプションは「いいえ」になりますが、プレーンテキストであることがわかります。

終わり。再コンパイルする必要さえありません。次のビルドははるかに高速になります。

于 2013-08-17T05:17:15.993 に答える
1

プロジェクトの構成を変更せずに、理由もなく開始したことを除いて、同じ問題がありました。

1 つのファイルを編集してビルドを押すと、プロジェクト全体が再構築されます。

多くの骨の折れる実験の後、「最小限の再構築」をオフにすると問題が解決することがわかりました。それをオフにすると、もう一度ファイルを変更でき、その 1 つのファイルだけがコンパイルされます。

奇妙なことに、最小限の再構築を無効にしてビルドを成功させた後、それを再び有効にすると、すべてが正常に戻りました。

どこかのキャッシュファイルが壊れたのではないでしょうか?私は喜んですべての中間ディレクトリを削除しようとしたので、それが破損したファイルである場合、プロジェクト ディレクトリ内のどこにもないと思います。

お役に立てれば。

于 2012-01-20T12:29:50.137 に答える