/exportHeader
(ヘッダー ユニットの作成)
入力引数によって指定されたヘッダー ユニットを作成するようにコンパイラに指示します。 コンパイラは、ヘッダー ユニットを IFC (.ifc
) ファイルとして生成します。
構文
/exportHeader /headerName:angle
header-name
/exportHeader /headerName:quote
header-name
/exportHeader
full path to header file
引数
/exportHeader
の引数は、エクスポートするヘッダー ファイルの名前 (header-name
) を指定する、/headerName
コマンドライン オプションです。
解説
/exportHeader
は、Visual Studio 2019 バージョン 16.10 以降で使用できます。
コンパイラ オプション /exportHeader
を使用するには、/std:c++20
以降のコンパイラ オプション (/std:c++latest
など) を有効にする必要があります。
1 つの /exportHeader
コンパイラ オプションで、ビルドに必要な数の header-name 引数を指定できます。 個別に指定する必要はありません。
このオプションが使用された場合、コンパイラは新しいプリプロセッサを暗黙的に有効にします。 つまり、コマンド ラインで何らかの形式の /exportHeader
が使用されている場合には、コンパイラによって /Zc:preprocessor
がコマンド ラインに追加されます。 暗黙的な /Zc:preprocessor
をオプト アウトするには、次を使用します: /Zc:preprocessor-
既定では、ヘッダー ユニットがコンパイルされる際、コンパイラはオブジェクト ファイルを生成しません。 オブジェクト ファイルを生成するには、/Fo
コンパイラ オプションを指定します。 詳しくは、「/Fo
/Fo (オブジェクト ファイル名)」をご覧ください。
補完的なオプション /showResolvedHeader
を使用すると便利な場合があります。 /showResolvedHeader
オプションは、header-name
引数の解決後のファイルへの絶対パスを出力します。
/exportHeader
では、/MP
が使用されている場合でも、一度に複数の入力を処理できます。 コンパイルごとに個別の .ifc
ファイルを作成するには、/ifcOutput <directory>
を使用することをお勧めします。
例
<vector>
などのヘッダー ユニットをビルドする場合は、次のようになります。
cl . . . /std:c++latest /exportHeader /headerName:angle vector
"utils/util.h"
などのローカル プロジェクト ヘッダーをビルドする場合は、次のようになります。
cl . . . /std:c++latest /exportHeader /headerName:quote util/util.h
Visual Studio 開発環境でこのコンパイラ オプションを設定するには
通常、ヘッダー ファイルに別の拡張機能を使用しない限り、Visual Studio 開発環境ではこのオプションを設定しないでください。 既定では、ビルド システムは、 .h
拡張子を持つ、または拡張子のないコンパイル済みファイルにこのオプションを適用します。
オプションを IDE で明示的にファイルに適用するには、ソリューション エクスプローラーでファイルを選択します。 右クリックしてコンテキスト メニューを開き、 Properties を選択して [プロパティ ページ] ダイアログを開きます。 Configuration ドロップダウンを All Configurations に設定します。 [ Platform ドロップダウンを All Platforms に設定します。
Configuration Properties>C/C++>Advanced プロパティ ページを開きます。
ドロップダウン コントロールを使用して、 Compile As プロパティを Compile as C++ Header Unit (/exportHeader)に変更します。 [OK] または [適用] を選択して、変更内容を保存します。
関連項目
/headerName
(指定されたヘッダーからのヘッダー ユニットのビルド)
/headerUnit
(ヘッダー ユニット IFC の使用)
/reference
(名前付きモジュール IFC の使用)
/translateInclude
(インクルード ディレクティブをインポート ディレクティブに変換する)