回答:
これはVS2010で導入されたぎこちなさです。VC ++ディレクトリ設定は、以前はツール+オプション、プロジェクトとソリューション、VC ++ディレクトリにありました。マシンで構築されたすべてのプロジェクトに適用されるグローバル設定。それはまだありますが、プロジェクト設定で変更する必要があることを指摘します。VS2010でのビルドエンジンのオーバーホールの副作用により、msbuildでのビルドが可能になります。プロジェクトごとの設定を削除することは理にかなっているはずですが、既存のプロジェクトの多くが壊れてしまいます。
そのため、VC ++ディレクトリの設定をマシンのデフォルトとして扱うのがおそらく最善です。VSインストーラーによって自動的に事前設定されます。通常とは異なるディレクトリ検索順序が必要な場合にのみ、それをいじくり回し、カスタムの場所を最後に置きます。そうすることは非常に珍しい。
ただし、機能します。そして、それは最終的に利用されました。VS2012以降のプラットフォームツールセット設定を強化します。異なるコンパイラ、異なるリンカー、異なる#includeディレクトリ、異なるリンカー検索パス。1つの設定だけで変更されました。
ディレクトリのインクルード環境変数に対応しますINCLUDE
。
ウィンドウに表示されるディレクトリ設定は、Visual Studioがソースコードファイルで参照されるインクルードファイルを検索するディレクトリです。環境変数INCLUDEに対応します。
一方で、追加のディレクトリのインクルード(つまり、コマンドライン引数を経由して渡される\I
オプション)。
INCLUDE
Windows環境変数から継承されます
INCLUDE
そしてLIB
時に環境変数が作成されているMicrosoft WindowsのSDKが一緒にインストールされているVisual Studioの。インクルードディレクトリまたは追加のインクルードディレクトリを使用するかどうかの決定は、組織の開発プロセスによって異なります。私の意見では、それはより重要です:
#define
ディレクティブと混同しないでください)は、さまざまなソースからコンテンツを継承します。のようなマクロ...
$(Include)
Windows環境変数から値を継承する$(OutDir)
Visual Studio IDE から値を継承する
Microsoft.Cpp.Win32.user
あり、これだけです。プロジェクトまたは別のプロパティシートをアクティブにしているときに「VC ++ディレクトリ」エントリを編集すると、変更は.vcxproj
ファイルまたはそれぞれの.props
ファイルに永続化され、グローバルまたはユーザー全体には適用されません。