Как настроить этот пользовательский шаг (инструмент?) Для 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.
1 ответ
Прежде всего, нет, вы не можете изменить файл и передать результаты на следующий этап (который я мог видеть). Мне нужна какая-то система трансформации программ.
Поэтому мне нужен промежуточный файл. Этот файл должен быть добавлен в проект, даже если он перезаписан вашим генератором кода. Я могу связать заголовочные файлы C++ с пользовательским инструментом сборки, и все они будут вызываться один за другим на этапе сборки, указанном на шаге пользовательской сборки. Пользовательский инструмент сборки изменит промежуточный файл (ы), и все в порядке.
Имя VS 2015 для текущего обрабатываемого файла -%(Filename). В более старых версиях это были $(ProjectName) и $(InputName).