ビジュアルスタジオ2015コミュニティ版では、以下のファイル構造でデバッグビルドを行います。 A.cppとB.cpp A.cpp、B.cppとC.cppなぜ、すべてのcppファイルが再コンパイルされないのですか?
を含む main.cppにを含むA.cpp C.cppを含む
A.cpp B.cppですからA.cppをデバッグモードで変更するとA.cppとmain.cppだけが再コンパイルされますが、リリースビルドモードに入るとA.cppだけが再コンパイルされます。リリースモードのコンパイルでは
:また、私はいくつかのようなメッセージを取得する17個の機能(0.0%)にコンパイルされたの0は、残りは前回のコンパイルからコピーされました。デバッグモードのコンパイルで
:はスキップ...(検出なし関連する変更)
私はすべてのファイルにA.cppを含めると、すべてのファイルを再コンパイルを取得するために期待していた、と私はそれを変更。
P.S.私はそれが.cppファイルを含めるために配線されていることを知っているが、これはちょうど実験であり、私はそれがどのように動作するかを理解したい。
cppファイルに#include "xxxx.cpp"がありますか? – NathanOliver
はい、はい、正確です。どのようにコンパイラはそれを処理する必要がありますか? – Narek
原則として、ヘッダファイルのみを含めるべきです。これを参照してください:http://programmers.stackexchange.com/questions/254233/why-do-we-need-to-include-the-h-while-everything-works-when-including-only-the – NathanOliver