Visual C++でのプリコンパイル済みヘッダー関係のメモ

Sponsored Links

プリコンパイルヘッダー設定手順

VisualStudioでWin32アプリケーションプロジェクト(など)を空で作ったときにプリコンパイルヘッダーの設定で必要な手順。

  1. stdafx.hとstdafx.cppをプロジェクトに追加。
  2. プロジェクトのプロパティで [C/C++] → [プリコンパイル済みヘッダー]の、[プリコンパイル済みヘッダー]を「使用」にして、[プリコンパイル済みヘッダーファイル]を「stdafx.h」にする
  3. プロジェクトのプロパティで [C/C++] → [詳細設定] → [必ずインクルードされるファイル] を、「stdafx.h」を指定
  4. stdafx.cppのプロパティで [C/C++] → [プリコンパイル済みヘッダー]の、[プリコンパイル済みヘッダー]を「作成」にする
ポイント

「使用」設定だけして、「必ずインクルード」設定を見逃したりしがち

プリコンパイルヘッダーでの定義がコーディング中エラー表示(未解決扱い)される(ビルドは通る)

プリコンパイル済みヘッダーを上記手順のように、「必ずインクルード」としてincludeした場合、コーディング中にVisual Studioはそれを考慮してくれていないっぽい。よって、プリコンパイルヘッダーがinclude対象パスに配置されてない場合、コンパイル時点まで参照対象に入っておらず、コーディング中にエラーの赤波線表示がでる(hogehogeという関数定義はありません的な)。

逆に、プリコンパイルヘッダーがinclude対象パスに入ってれば「必ずインクルード」設定だろうと問題ないので、プロジェクトプロパティ → [C/C++] → [全般] → [追加のインクルードディレクトリ] にプリコンパイルヘッダーのファイルディレクトリを追加すれば解決する。

コメント