msbuild: установить конкретный препроцессор #define в командной строке
Проекты C++ (и решения) (пока?) не msvs интегрированы в среду MSBuild. В vs.net рамках процесса сборки вызывается c++ VCBuild task, который является просто c++ оберткой вокруг vcbuild.exe.
Вы можете:
- создайте специальную конфигурацию для вашего решения, в которой будет определено
ACTIVATE=1
, и скомпилируйте ее с помощью devenv.exe (с переключателем /ProjectConfig). - создайте свой собственный целевой файл, чтобы обернуть свой вызов в VCBuild task (см. параметр Override)...
используйте vcbuild.exe вместо msbuild.exe.(похоже, vcbuild.exe не имеет эквивалента параметра Override).
Обратите visual-studio внимание, что ваше решение visual-studio не будет работать и для проектов c++ C#, если вы немного не подкорректируете msvs файлы проекта. Для справки, вот visual-studio как я бы это сделал:
- Добавьте следующий код перед вызовом
:
$(DefineConstants);$(MyConstants)
- Вызовите MSBuild следующим образом:
msbuild /p:MyConstants="ACTIVATE=1"
c++
visual-studio
msbuild
msbuild: установить конкретный препроцессор #define в командной строке
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.