プロパティ ページ (C++)

更新 : 2007 年 11 月

プロジェクトのプロパティ ページは、Visual Studio ユーザー インターフェイス要素の 1 つで、プロジェクト設定を指定したり、プロジェクト設定をプロジェクトに適用したりできます。

プロパティ ページにアクセスするには、プロジェクトを選択し、ショートカット メニューの [プロパティ] をクリックするか、[プロジェクト] メニューの [プロパティ] をクリックします。[プロパティ ページ] ダイアログ ボックスで値を指定すると、ソリューション エクスプローラで選択したプロジェクトに、それらの値が適用されます。

プロジェクト設定を指定してすべてのビルド構成に適用することも、各ビルド構成でプロジェクトのプロパティを個別に指定することもできます。たとえば、デバッグ構成には適用されないリリース構成の設定を指定できます。

プロパティ ページは、プロジェクト内のファイルの種類に応じて表示される動的なページです。たとえば、プロジェクトに .idl ファイルがない場合、IDL のプロパティ ページは [プロパティ ページ] ダイアログ ボックスに表示されません。

詳細については、「方法 : [プロパティ ページ] でプロジェクトのプロパティを指定する」を参照してください。

既定のプロパティと変更したプロパティ

プロパティ値は太字で表示されることがあります。これは、値が変更されたことを意味します。通常、ソリューション エクスプローラでプロジェクト ノードを選択した場合のプロジェクト レベルでのプロパティの既定値は、ツールに対するそのプロパティの既定値です。たとえば Win32 プロジェクトでは、コンパイラの [コード生成] プロパティ ページで、[文字列プール] プロパティは初期状態で [いいえ] に設定されています。この値は太字では表示されません。つまり、[いいえ] はプロジェクトの既定値と一致しています。コマンド ラインで CL.exe を使用する場合、指定しない限り /GF は無効になります。

ユーザーまたはアプリケーション ウィザードによってプロパティが変更された場合は、値が太字で表示されます。たとえば、前述の [コード生成] プロパティ ページでは、[基本ランタイム チェック] プロパティに対して [/RTC1] が有効です。コマンド ラインの既定では [/RTC1] が無効になっています。つまり、アプリケーション ウィザードによってプロパティに対するプロジェクトの既定の設定が変更されています。

プロジェクトの既定値のサブセットは公開されており、変更できます。詳細については、「[全般] プロパティ ページ (プロジェクト)」のプロジェクトの既定値に関するセクションを参照してください。

プロパティのリセット

プロジェクトの [プロパティ ページ] ダイアログ ボックスを表示するときに、ソリューション エクスプローラでプロジェクト ノードが選択されている場合は、プロパティごとに [<プロジェクトの既定の設定から継承>] を選択できます。

[適用] をクリックすると、プロパティをプロジェクトの既定値にリセットするときに、[プロパティ ページ] ダイアログ ボックスが更新されて最新の設定が表示されます。

プロジェクトの [プロパティ ページ] ダイアログ ボックスを表示するときに、ソリューション エクスプローラでファイルが選択されている場合、太字で表示されるプロパティ値は、ファイル レベルでのプロパティ値が変更されていることを示します。したがって、プロパティごとに [<プロジェクトから継承>] を選択できます。変更されたプロパティが多数のファイルにあると、プロジェクトのビルドに時間がかかります。

プロジェクトの既定値は、ほとんどの部分でシステム (プラットフォーム) の既定値です。プロジェクトの一部の既定値は、プロジェクト構成の [全般] ページの [プロジェクトの既定値] セクションでプロパティを更新したときに適用されるスタイル シートから派生します。「[全般] プロパティ ページ (プロジェクト)」を参照してください。

ユーザー定義の値の入力

その他のプロパティには、値を指定する必要があります。値を指定するプロパティには、複数の値を取るプロパティ (マルチ プロパティ) と 1 つの値を取るプロパティ (シングル プロパティ) があります。

プロパティ ページの右の列に値を直接入力できます。値が複数ある場合はセミコロン (;) で区切ります。これらのプロパティの値には英数字だけを使用します。値のエラー チェックは行われません。

ドロップダウン リスト (シングル プロパティの場合) またはブラウズ ボタン (選択したマルチ プロパティの場合) で [<編集...>] を選択します。プロパティの値を入力するダイアログ ボックスが開きます。ダイアログ ボックスのタイトルは、編集するプロパティと同じ名前になります。マルチ プロパティの場合は、各値の後にキャリッジ リターンを使用して 1 行に 1 つずつ値を入力します。

マルチ プロパティのエディット ボックスには、[プロジェクトから継承] (ファイルの場合) または [プロジェクトの既定値から継承] (プロジェクト レベルの場合) というラベルの付いたチェック ボックスがあります。既定ではこのチェック ボックスはオンになっています。これは、ファイルが選択されている場合はプロパティが値をプロジェクトから継承でき、ソリューション エクスプローラでプロジェクトが選択されている場合は値をプロジェクトの既定値から継承できることを示します。

プロパティ ページに表示されるマルチ プロパティの値は、現在のレベルのプロパティ設定を反映しているだけであることに注意してください。たとえば、ソリューション エクスプローラでファイルが選択されている状態で C または C++ の [プロセッサの定義] プロパティを選択した場合は、プロパティ ページにプロジェクト レベルでのプリプロセッサ定義は表示されません。しかし、マルチ プロパティのエディット ボックスを開いている場合は、プロパティの継承されたすべての値を表示させることができます。

Visual C++ のプロジェクト モデルを使用している場合は、ファイルとプロジェクトのオブジェクトに対してもこの動作が影響することに注意してください。つまり、ファイル レベルでプロパティの値をクエリする場合、同じプロパティの値はプロジェクト レベルで取得されません。プロジェクト レベルで明示的にプロパティの値を取得する必要があります。プロパティの継承された値の一部は、スタイル シートから取得される値です。このリリースでは、プログラムによるスタイル シートへのアクセスはできません。

$(Inherit) マクロと $(NoInherit) マクロ

ユーザー定義の値を指定するプロパティには、以下の 2 つのマクロを使用できます。

  • $(Inherit)

  • $(NoInherit)

チェック ボックス (たとえば、[プロジェクトの既定値から継承]) をオフにすることは $(NoInherit) を指定することと同じですが、チェック ボックスを使用する方が簡単です。$(NoInherit) を指定するときでも、独自の値を指定する場合があります。

[プロジェクトから継承] チェック ボックスまたは [プロジェクトの既定値から継承] チェック ボックスの設定にかかわらず、この 2 つのマクロのいずれかをエディット ボックスで使用すると、チェック ボックスの設定が無視されます。

プロパティで $(NoInherit) を使用する場合は、プロジェクトのいずれかの既定値がプロパティに影響するかどうかを確認してください。影響する場合は、指定したプロジェクトの既定値が誤ってオーバーライドされることがあります。

参照

処理手順

方法 : プロジェクトの依存関係を作成および削除する

方法 : 構成を作成および編集する

その他の技術情報

Windows インストーラ配置のタスク

Visual Studio のソース管理