Как добавить пользовательский препроцессор для файлов .cpp в проекты Visual C ++ / MSBuild - PullRequest
0 голосов
/ 26 апреля 2018

Я хотел бы добавить собственный препроцессор для файлов .cpp в моем проекте Visual C ++ MSBuild.

В настоящее время я использую пользовательский шаг сборки, чтобы найти все файлы .cpp и переписать их (уничтожив исходный контент) перед их компиляцией. Это больше не приемлемо, так как препроцессор должен делать изменения «невидимыми» для разработчика (преобразование строк с помощью языка сценариев в настоящий код C ++).

Предварительная обработка должна быть выполнена "На лету". Зависимости не должны быть затронуты вообще. Пользовательский препроцессор может создавать директиву препроцессора #line, поэтому ошибки компилятора могут быть перенаправлены в исходный файл.

Мне кажется, что события сборки и пользовательские шаги сборки не являются жизнеспособным способом сделать это.

Я попытался заменить двоичный файл компилятора своим собственным, который вызывает пользовательский препроцессор и передает выходные данные в исходный компилятор, но это было скорее «доказательством концепции» и, безусловно, не готовым к использованию решением.

Q1: Где мне искать то, чего я пытаюсь достичь?

Q2: и есть ли возможность сделать это в решении без изменения установки Visual C ++ (настраиваемый препроцессор также является частью решения и компилируется перед любым другим проектом)

...