-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathVS2012_PropManager_Note.txt
More file actions
40 lines (31 loc) · 2.58 KB
/
Copy pathVS2012_PropManager_Note.txt
File metadata and controls
40 lines (31 loc) · 2.58 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
Visual Studio 2012 のプロパティ マネージャーに関する注意点:
Visual C++ 2010 以降は、IDE のグローバルな「追加のインクルード ディレクトリ」および「追加のライブラリ ディレクトリ」の設定は、
2008 までのような [ツール]→[オプション] メニューからは実行できなくなっている。
代わりに、
%LocalAppData%/Microsoft/MSBuild/v4.0
にある、.user.props ファイル(XML)を直接テキスト エディタで編集するか、
Visual Studio の [表示]→[その他のウィンドウ]→[プロパティ マネージャー] から表示できるペインで、
現在編集中のプロジェクトが読み込んでいる上記ファイルを、UI を使って編集して保存する必要がある。
ただし、UI を使った編集を行なって保存すると、
<ItemDefinitionGroup />
タグが、
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>
</AdditionalIncludeDirectories>
</ClCompile>
</ItemDefinitionGroup>
となってしまう模様(おそらく IDE のバグ)。
後者の状態になると、Visual C++ プロジェクトの [追加のインクルード ディレクトリ] の継承値は、
デフォルトの "$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories)" ではなく、
空の設定になってしまう。
この状態で XAML を使ったストア アプリの C++ プロジェクトをそのままビルドしようとすると、
App.xaml.h で app.g.h のインクルードに失敗するなどの影響が出てしまう。
したがって、グローバル ディレクトリの設定は、UI を使わずに .user.props の直接編集で対応するようにするべき。
なお、.user.props ファイルを編集するときはいつでも戻せるように、Visual Studio インストール直後の初期ファイルを
バックアップしておくとよい。
ちなみに VS 2010 / 2012 をインストールする際に VS 2008 以前の環境がインストール済みであった場合は、
インストール時点でのグローバル ディレクトリ設定を引き継いでくれる模様。
また、VC++ 2010 および VC++ 2012 は、この .user.props ファイルを共有するようになっている。
グローバルな追加のライブラリ ディレクトリを設定する際、
コンパイラのバージョンに依存するライブラリ ファイルを含むディレクトリ パスを直接指定しないようにすること。