シナリオは次のとおりです。
VS ソリューションのビルド システムのスクリプトを作成しています。ソリューションを移植可能にするために、プロパティ マネージャーを使用してカスタム プロパティを追加し、ソリューション内の各プロジェクトが から継承できるインクルードのグローバル パスを定義できるようにします。ここまではすべて正常に機能しています。
しかし、私のソリューションのいくつかのプロジェクトでは、サードパーティのインクルードも使用しています。これらのサード パーティのインクルード フォルダーは、現在、グローバル インクルードに加えてこれらのプロジェクトのプロパティを指定することにより、これらのプロジェクトのプロパティを介して追加されます。
私がやりたいことは、これらのサード パーティのインクルードをこれらのプロジェクトの外に持ち出し、それらをグローバル インクルード フォルダーに入れることです。このようにして、各プロジェクトにソース コードのみを含むクリーンなソリューションが得られ、すべてのインクルードがグローバル フォルダーにあります。
その結果、これらのサード パーティ インクルードを必要としないプロジェクトも、グローバル インクルード フォルダーにあるため、それらを継承します。
私の質問は - プロジェクトのソース コードにファイルの #include があるが、そのファイルがまだ追加のインクルード ディレクトリ設定で指定されている場合、コンパイルでプルされるかどうかです。
そうでない場合、私の方法はうまく機能します。ソースコードが呼び出されていなくてもファイルが含まれている場合、肥大化したdllが得られます。
ポインターはありますか?ソースコードの一部ではないインクルードファイルを無視するように設定できるVS 2010の最適化フラグ/設定はありますか、またはコンパイルプロセスが自動的に処理しますか?
同様の質問を検索しようとしましたが、私のニーズにぴったり一致するものは見つかりませんでした。