プリコンパイルヘッダー設定手順
VisualStudioでWin32アプリケーションプロジェクト(など)を空で作ったときにプリコンパイルヘッダーの設定で必要な手順。
- stdafx.hとstdafx.cppをプロジェクトに追加。
- プロジェクトのプロパティで [C/C++] → [プリコンパイル済みヘッダー]の、[プリコンパイル済みヘッダー]を「使用」にして、[プリコンパイル済みヘッダーファイル]を「stdafx.h」にする
- プロジェクトのプロパティで [C/C++] → [詳細設定] → [必ずインクルードされるファイル] を、「stdafx.h」を指定
- stdafx.cppのプロパティで [C/C++] → [プリコンパイル済みヘッダー]の、[プリコンパイル済みヘッダー]を「作成」にする
ポイント
「使用」設定だけして、「必ずインクルード」設定を見逃したりしがち
プリコンパイルヘッダーでの定義がコーディング中エラー表示(未解決扱い)される(ビルドは通る)
プリコンパイル済みヘッダーを上記手順のように、「必ずインクルード」としてincludeした場合、コーディング中にVisual Studioはそれを考慮してくれていないっぽい。よって、プリコンパイルヘッダーがinclude対象パスに配置されてない場合、コンパイル時点まで参照対象に入っておらず、コーディング中にエラーの赤波線表示がでる(hogehogeという関数定義はありません的な)。
逆に、プリコンパイルヘッダーがinclude対象パスに入ってれば「必ずインクルード」設定だろうと問題ないので、プロジェクトプロパティ → [C/C++] → [全般] → [追加のインクルードディレクトリ] にプリコンパイルヘッダーのファイルディレクトリを追加すれば解決する。
コメント