Я хочу выполнить шаг сборки, который просматривает файл .h, добавляет некоторый код, основанный на некоторых внешних параметрах, и передает полученный файл препроцессору.
Я вижу «Custom Build Step» в свойствах проекта. Кажется, нужен выходной файл. Я просто хочу переслать результаты препроцессору.
Похоже, что пользовательский этап сборки хочет выполнить однократный процесс, а не для каждого файла или по типу файла.
Проблема в том, что я не знаю, как отправить моему внешнему исполняемому файлу обрабатываемый файл (например, «HelloWorld.cpp»). $ (InputName) и% (Filename) не заполнены, а в документах указано, что они устарели. Как отправить имя файла на мой внешний исполняемый файл?
Но даже если мне это удастся, я не хочу устанавливать этот файл. Я хочу, чтобы все файлы заголовков проходили этот процесс.
Есть идеи?
Я посмотрел на:
https://msdn.microsoft.com/en-us/library/dd293663.aspx?f=255&MSPPError = -2147217396
https://msdn.microsoft.com/en-us/library/hefydhhy(v=vs.90).aspx
https://msdn.microsoft.com/en-us/library/ff770593(v=vs.140).aspx
работает над отладкой, конфиг x64 на windows.
Прежде всего, нет, вы не можете изменить файл и передать результаты на следующий этап (который я мог видеть). Мне нужен какой-то Система трансформации программ.
Поэтому мне нужен промежуточный файл. Этот файл должен быть добавлен в проект, даже если он перезаписан вашим генератором кода. Я могу связать заголовочные файлы c ++ с пользовательским инструментом сборки, и все они будут вызываться один за другим на этапе сборки, указанном на шаге пользовательской сборки. Пользовательский инструмент сборки изменит промежуточный файл (ы), и все в порядке.
Имя VS 2015 для текущего обрабатываемого файла -% (Filename). В более старых версиях это были $ (ProjectName) и $ (InputName).
Других решений пока нет …