/interface
此开关指示编译器将命令行上的输入文件视为模块接口单元。
语法
/interface
filename
备注
当模块接口的扩展不同于 .ixx
时,请使用此开关。
在以下示例中,模块接口具有 .cppm
扩展而不是 .ixx
,因此 /interface
开关用于将其编译为模块接口:
cl /c /std:c++latest /interface /TP my-module.cppm
编译器从模块接口名称派生生成的 .ifc
文件的名称。 例如,给定在 my-module.cppm
中定义的模块名称 MyModule
,生成的 .ifc
将是已命名的 MyModule.ifc
。
此开关必须与/TP
(指定源文件类型)编译器标志一起使用。
/interface
在 Visual Studio 2019 版本 16.10 或更高版本中可用。
/interface
需要 /std:c++20 或更高版本。
在 Visual Studio 开发环境中设置此编译器选项
通常不应在 Visual Studio 开发环境中设置此选项,除非对模块接口文件使用不同的扩展。 默认情况下,生成系统将此选项应用于扩展名为 .ixx
* 的文件。
若要在 IDE 中显式将
/interface
选项应用于文件,请在解决方案资源管理器中选择该文件。 右键单击以打开上下文菜单,然后选择“属性”以打开“属性页”对话框。将“配置”下拉列表设置为“所有配置”。 将“平台”下拉列表设置为“所有平台”。
打开“配置属性”>“C/C++”>“高级”属性页。
使用下拉列表控件将“编译为”属性修改为“作为 C++ 模块代码编译(/interface)”。 选择“确定”或“应用”以保存更改。