/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
параметр компилятора может указать столько аргументов имени заголовка, сколько требуется для сборки. Вам не нужно указывать их отдельно.
Компилятор неявно включает новый препроцессор при использовании этого параметра. То есть добавляется в командную строку компилятором, /Zc:preprocessor
если в командной строке используется любая форма /exportHeader
. Чтобы отказаться от неявного, используйте следующую /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
или без расширения.
Чтобы применить параметр к файлу
/exportHeader
явно в интегрированной среде разработки, выберите файл в Обозреватель решений. Щелкните правой кнопкой мыши, чтобы открыть контекстное меню и выберите "Свойства ", чтобы открыть диалоговое окно "Страницы свойств".Задайте раскрывающийся список "Конфигурация" для всех конфигураций. Установите раскрывающийся список "Платформа" на всех платформах.
Откройте страницу свойств>конфигурации C/C++>Advanced.
Используйте раскрывающийся список, чтобы изменить свойство "Компиляция как единица заголовка C++" (/exportHeader). Нажмите кнопку "ОК" или "Применить", чтобы сохранить изменения.
См. также
/headerName
(сборка блока заголовка на основе указанного заголовка)
/headerUnit
(использование IFC для единицы заголовка)
/reference
(использование IFC для именованного модуля)
/translateInclude
(преобразование директив include в директивы import)