告知编译器创建由输入参数指定的标头单元。 编译器将标头单元生成为 IFC (.ifc) 文件。
Syntax
/exportHeader /headerName:angleheader-name
/exportHeader /headerName:quoteheader-name
/exportHeaderfull path to header file
Arguments
要导出/exportHeader/headerName的头文件的名称(指定)header-name的命令行选项。
注解
/exportHeader 从 Visual Studio 2019 版本 16.10 开始提供。
编译器 /exportHeader 选项要求启用或更高版本的 /std:c++20 编译器选项(例如 /std:c++latest)。
一个 /exportHeader 编译器选项可以指定生成所需的任意数量的标头名称参数。 无需单独指定它们。
使用此选项时,编译器会隐式启用新的预处理器。 也就是说,如果命令行上使用任何形式的/exportHeader命令行,/Zc:preprocessor编译器会将其添加到命令行。 若要选择退出隐式, /Zc:preprocessor请使用: /Zc:preprocessor-
默认情况下,编译器在编译标头单元时不生成对象文件。 若要生成对象文件,请指定 /Fo 编译器选项。 有关详细信息,请参阅/Fo(对象文件名)。
你可能会发现使用补充选项 /showResolvedHeader会很有帮助。 该 /showResolvedHeader 选项输出自变量解析的文件的绝对路径 header-name 。
/exportHeader 可以同时处理多个输入,即使在以下 /MP。 建议用于 /ifcOutput <directory> 为每个编译创建单独的 .ifc 文件。
例子
若要生成标头单元,如下所示 <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 扩展名或无扩展名的已编译文件。
若要在
/exportHeaderIDE 中显式将选项应用于文件,请在 解决方案资源管理器中选择该文件。 右键单击以打开上下文菜单,然后选择“ 属性 ”以打开“属性页”对话框。将 “配置” 下拉列表设置为 “所有配置”。 将 “平台 ”下拉列表设置为 “所有平台”。
打开 配置属性>C/C++>Advanced 属性页。
使用下拉列表控件修改“编译为”属性,以编译为C++标头单元(/exportHeader)。 选择“确定”或“应用”以保存更改。
另请参阅
/headerName (从指定标头生成标头单元)
/headerUnit (使用标头单元 IFC)
/reference (使用命名模块 IFC)
/translateInclude (将 include 指令转换为导入指令)