определить директиву для всего решения в Visual Studio на основе имени решения?

У меня есть 2 решения Visual Studio (C ++), и каждое из них состоит из нескольких проектов. Существует один проект, который является общим для этих двух решений.
в этом проекте есть файл, который не может быть скомпилирован одинаково для этих двух решений. потому что у него есть некоторые дополнительные части для одного из решений.
Я хотел использовать для этого директивы, основанные на имени решения, но после многих поисков я не смог найти способ сравнения строк в директивах.

редактировать:
Я решил использовать событие перед сборкой. во-первых, я определил переменную препроцессора следующим образом:

определять

после этого я добавил код к событиям перед сборкой, например так:

код

но я получаю синтаксическую ошибку:

Командные Линии
Создание временного файла «c: \ MNC_SCADA \ Server \ Data_Acqusition \ Debug \ BAT0000AF6808284.bat» с
содержание [

@ эхо выключено

if «DAC» == «DAC» (

установить COMPILE_SERVER =% 1

)

остальное (

установить COMPILE_SERVER =% 0

)

если errorlevel 1, перейдите к VCReportError

перейти к VCEnd

: VCReportError

echo Project: ошибка PRJ0019: инструмент вернул код ошибки из
«Выполнение события перед сборкой …»

выход 1

: VCEnd

]

Создание командной строки
«C: \ MNC_SCADA \ Server \ Data_Acqusition \ Debug \ BAT0000AF6808284.bat»

Окно вывода
Выполнение события перед сборкой … Синтаксис команды неверен. Проект: ошибка PRJ0002: результат ошибки 255 возвращен из
«C: \ Windows \ SysWOW64 \ cmd.exe.

Результаты
Журнал сборки был сохранен в «file: // c: \ MNC_SCADA \ Server \ Data_Acqusition \ Debug \ BuildLog.htm» данных.
Приобретение — 1 ошибка (ов), 0 предупреждение (я)

0

Решение

Задача ещё не решена.

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

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

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