아마도 이런 오래된 질문에 답하는 것이 좋지 않을 수도 있지만 최근에 비슷한 문제를 봤는데이 주제를 발견했습니다. 일부 시스템을 빌드 할 때 cmd 스크립트를 작성 했으므로 솔루션을 찾는데 성공했습니다.나는 미래 세대 (여기두고 :
@echo off
:: it is considered that Visual Studio tools are in the PATH
if "%1"=="USE_ACTIVATE_MACRO" (
:: if parameter USE_ACTIVATE_MACRO is passed to script
:: the macro ACTIVATE will be defined for the project
set CL=/DACTIVATE#1
)
call msbuild /t:Rebuild /p:Configuration=Release
UPD를 : @의 acemtp의 문제에 따라
, 내 솔루션은 다음과 같이 보일 것이다 나는 set CL=/DACTIVATE=1
를 사용하려하고 또한 일을하지만, official documentation의 정보는 다음의 제품에 권장 MSBuild에서 더 많은 경험을 다른 사람들이 아이디어를 제공 할 수 있도록 숫자 기호
어깨를 으,, 아마도 C++에서는 아니지만 Matt Howells의 대답은 C# 프로젝트로 저에게 도움이되었습니다. C++에서 작동하지 않는 이유를 생각할 수 없습니다. – blak3r
이 대답은 너무 깊어서 나는 그것을 볼 수 없다. –
@ blak3r Matts 대답은 C++에서 작동하지 않으며이 질문은 C++에 관한 것입니다. 그리고 프로젝트 파일이나 다른 외부 파일을 추가로 변경하지 않고도 명령 줄에 플래그를 추가하는 것만으로는 아무 것도 할 수없는 것처럼 보입니다. – Zitrax