/exportHeader(创建标头单元)

告知编译器创建由输入参数指定的标头单元。 编译器将标头单元生成为 IFC (.ifc) 文件。

语法

/exportHeader /headerName:angle header-name
/exportHeader /headerName:quote header-name
/exportHeader full path to header file

参数

/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 扩展名或无扩展名的已编译文件。

  1. 若要在 IDE 中显式将 /exportHeader 选项应用于文件,请在解决方案资源管理器中选择该文件。 右键单击以打开上下文菜单,然后选择“属性”以打开“属性页”对话框

  2. 将“配置”下拉列表设置为“所有配置”。 将“平台”下拉列表设置为“所有平台”

  3. 打开“配置属性”>“C/C++”>“高级”属性页。

  4. 使用下拉列表控件将“编译为”属性修改为“编译为 C++ 标头单元(/exportHeader)”。 选择“确定”或“应用”以保存更改。

另请参阅

/headerName(根据指定的标头生成标头单位)
/headerUnit (使用标头单元 IFC)
/reference(使用命名模块 IFC)
/translateInclude(将 include 指令转换为 import 指令)