Автоматическая генерация кода C ++ в событии перед сборкой с использованием Visual Studio - PullRequest
5 голосов
/ 11 февраля 2010

Я пытаюсь использовать событие предварительной сборки в Visual Studio (в частности VS 2005) для запуска скрипта Python, который автоматически генерирует файл .cpp. Проблема, с которой я сталкиваюсь, заключается в том, что компилятор, похоже, не знает, что этот файл грязный, и его нужно перестраивать до после сборки, что означает, что мне нужно построить решение дважды - один раз, чтобы сгенерировать этот файл, а затем еще раз, чтобы этот файл действительно был скомпилирован.

Не зная много о внутренней работе компилятора C ++, я наивно полагаю, что он составляет список грязных файлов, которые нужно перекомпилировать до запускаемого события предварительной сборки, поэтому он пропускает это автоматически сгенерированный файл, так как он не был затронут до окончания события перед сборкой.

Есть ли способ сообщить компилятору, что ему нужно перекомпилировать этот файл, если событие перед сборкой изменяет его?

Ответы [ 2 ]

5 голосов
/ 11 февраля 2010

Я использую msvc 6.

Try ...

Put the python script into the project
give it a custom build step that invokes python on it,
to create the cpp file.

Add the cpp file to your project and do a rebuild all.

Вот как мы это делаем с препроцессором Oracle Pro * C. Работает нормально.

2 голосов
/ 11 февраля 2010

Это не то, что я когда-либо делал, но вы можете попробовать вызвать компилятор (cl.exe) непосредственно из события перед сборкой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...