/headerName
(根据指定的标头生成标头单位)
将指定的头文件生成到标头单元(.ifc
文件)中。
语法
/headerName:quote
header-filename
/headerName:angle
header-filename
参数
header-filename
编译器应编译到标头单元(.ifc
文件)中的头文件的名称。
备注
从 Visual Studio 2019 版本 16.10 开始提供 /headerName:quote
和 /headerName:angle
编译器选项。
/headerName
编译器选项在其所有形式中都需要 /std:c++20
或更高版本的编译器选项(例如 /std:c++latest
)。
如果指定 /headerName
选项,则还必须指定 /exportHeader
。
/headerName:quote
使用与#include "header-filename"
相同的规则查找header-filename
并将其生成为标头单元(.ifc
文件)。/headerName:angle
使用与#include <header-filename>
相同的规则查找header-filename
并将其生成为标头单元(.ifc
文件)。
有关引号或尖括号中包含文件的路径搜索规则的详细信息,请参阅 #include
指令。
示例
假设有一个项目引用它定义的名为 m.h
的头文件,将其编译为标头单元的编译器选项类似于以下示例:
cl /std:c++latest /exportHeader /headerName:quote m.h /Fom.h.obj
/headerName:quote
和 /headerName:angle
选项的作用类似于标志,不需要自变量。 下面的示例有效:
cl /std:c++latest /exportHeader /headerName:angle /MP /Fo.\ vector iostream algorithm
cl /std:c++latest /exportHeader /headerName:quote /MP /Fo.\ my-utilities.h a/b/my-core.h
可以在同一命令行上指定多个 /headerName
选项。 /headerName
选项之后的每个自变量都将使用指定的引号或尖括号的包含文件查找规则进行处理,直到下一个 /headerName
选项为止。 以下示例以与前两个命令行示例相同的方式处理所有标头。 它使用所应用的查找规则查找标头,如同它们已指定为:#include <vector>
、#include <iostream>
、#include <algorithm>
、#include "my-utilties.h"
和 #include "a/b/my-core.h"
:
cl /std:c++latest /exportHeader /headerName:angle /MP /Fo.\ vector iostream algorithm /headerName:quote my-utilities.h a/b/my-core.h
在 Visual Studio 开发环境中设置此编译器选项
注意
通常不应在 Visual Studio 开发环境中设置此选项。 它由生成系统设置。
打开项目的“属性页” 对话框。 有关详细信息,请参阅在 Visual Studio 中设置 C++ 编译器和生成属性。
将“配置”下拉列表设置为“所有配置”。 将“平台”下拉列表设置为“所有平台”。
选择“配置属性”>“C/C++”>“命令行”属性页。
修改“其他选项”属性以添加
/headerName:quote
或/headerName:angle
选项以及选项适用的标头文件名。 然后,选择“确定”或“应用”以保存更改。
另请参阅
/exportHeader
(创建标头单元)
/headerUnit
(使用标头单元 IFC)
/reference
(使用命名模块 IFC)
/translateInclude
(将 include 指令转换为 import 指令)