/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 или без расширения.

  1. Чтобы применить параметр к файлу /exportHeader явно в интегрированной среде разработки, выберите файл в Обозреватель решений. Щелкните правой кнопкой мыши, чтобы открыть контекстное меню и выберите "Свойства ", чтобы открыть диалоговое окно "Страницы свойств".

  2. Задайте раскрывающийся список "Конфигурация" для всех конфигураций. Установите раскрывающийся список "Платформа" на всех платформах.

  3. Откройте страницу свойств>конфигурации C/C++>Advanced.

  4. Используйте раскрывающийся список, чтобы изменить свойство "Компиляция как единица заголовка C++" (/exportHeader). Нажмите кнопку "ОК" или "Применить", чтобы сохранить изменения.

См. также

/headerName (сборка блока заголовка на основе указанного заголовка)
/headerUnit (использование IFC для единицы заголовка)
/reference (использование IFC для именованного модуля)
/translateInclude (преобразование директив include в директивы import)