У меня есть проект с заголовками, которые обычно генерируются по мере необходимости с интерфейсом командной строки. Но я хочу добавить этот этап генерации в Visual Studio 2015 (набор инструментов v141, C++) в качестве пользовательского этапа сборки. Итак, я сделал это, и это действительно работает, но генерирует их слишком поздно. Действительно, если файлы еще не существуют, сборка проекта завершается с ошибкой "невозможно включить файл myHeader.h".
я добавил шаг пользовательской сборки, добавив свойства проекта -> Шаг пользовательской сборки -> общие:
- Командная строка: команда для создания заголовочного файла (работает)
- Выходные данные: $(ProjectDir)generated-header;%(Outputs)
- Выполнить до: PreBuildEvent
Вывод на самом деле не нужен, так как командная строка генерирует файлы и автоматически помещает их в нужную папку. но это не работает, если я не укажу выходную папку.
Моя проблема может заключаться в Выполнить до. Но я не знаю, какой вариант добавить. этот кажется хорошим еще.
EDIT что-то странное в том, что иногда удается создать его перед сборкой, но если я удалю их и снова соберу. Они больше не генерируются и проект не строится.
EDIT2 на самом деле это работает, только если я изменяю свойства проекта, так как это заставляет перегенерировать все требования. В противном случае, если я создам как обычно, он пропустит шаг пользовательской сборки, потому что Visual Studio считает, что он обновлен.