/interface

このスイッチは、コマンド ライン上の入力ファイルをモジュール インターフェイス ユニットとして扱うようにコンパイラに指示します。

構文

/interface filename

解説

モジュール インターフェイスの拡張機能が .ixx とは異なる場合は、このスイッチを使用します。

次の例では、モジュール インターフェイスに .ixx ではなく .cppm 拡張機能があるため、/interface スイッチを使用してモジュール インターフェイスとしてコンパイルします。

cl /c /std:c++latest /interface /TP my-module.cppm

コンパイラは、生成された .ifc ファイルの名前をモジュール インターフェイス名から派生させます。 たとえば、my-module.cppmで定義MyModuleモジュール名を指定すると、生成された.ifcMyModule.ifc という名前になります。

このスイッチは、コンパイラ フラグ/TP (ソース ファイルの種類の指定) と共に使用する必要があります。

/interface は Visual Studio 2019 バージョン 16.10 以降で使用できます。
/interface には /std:c++20 以降が必要です。

Visual Studio 開発環境でこのコンパイラ オプションを設定するには

通常、モジュール インターフェイス ファイルに別の拡張機能を使用しない限り、Visual Studio 開発環境ではこのオプションを設定しないでください。 既定では、ビルド システムは、 .ixx* 拡張子を持つファイルにこのオプションを適用します。

  1. オプションを IDE で明示的にファイルに適用するには、ソリューション エクスプローラーでファイルを選択します。 右クリックしてコンテキスト メニューを開き、 Properties を選択して [プロパティ ページ] ダイアログを開きます。

  2. Configuration ドロップダウンを All Configurations に設定します。 [ Platform ドロップダウンを All Platforms に設定します。

  3. Configuration Properties>C/C++>Advanced プロパティ ページを開きます。

  4. ドロップダウン コントロールを使用して、 Compile As プロパティを Compile as C++ Module Code (/interface)に変更します。 [OK] または [適用] を選択して、変更内容を保存します。

関連項目

C++ のモジュールの概要
コマンド ラインからの MSVC での C++ モジュールの使用