Как настроить этот пользовательский шаг (инструмент?) Для Visual Studio (2015). В основном я хочу предварительный шаг, который изменяет заголовочные файлы (c ++)

Я хочу выполнить шаг сборки, который просматривает файл .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.

0

Решение

Прежде всего, нет, вы не можете изменить файл и передать результаты на следующий этап (который я мог видеть). Мне нужен какой-то Система трансформации программ.

Поэтому мне нужен промежуточный файл. Этот файл должен быть добавлен в проект, даже если он перезаписан вашим генератором кода. Я могу связать заголовочные файлы c ++ с пользовательским инструментом сборки, и все они будут вызываться один за другим на этапе сборки, указанном на шаге пользовательской сборки. Пользовательский инструмент сборки изменит промежуточный файл (ы), и все в порядке.

Имя VS 2015 для текущего обрабатываемого файла -% (Filename). В более старых версиях это были $ (ProjectName) и $ (InputName).

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]