2013-03-02 5 views
4

내 응용 프로그램의 다른 버전을 빌드하는 동일한 bash 스크립트 (msys) 내에서 vcvars32.bat 및 vcvars64.bat를 호출해야합니다.bash 스크립트에서 vcvars 호출하기

문제는 cmd.exe 명령으로 배치 파일을 호출 할 수 있더라도 Visual Studio 변수가 반환되면 분명히 설정되지 않습니다.

bash 스크립트를 호출하는 외부 배치 파일 (예 : msys.bat)에서 vcvars를 호출 할 수 없습니다. 동일한 스크립트에서 둘 다 순차적으로 호출해야하므로 vcvars를 호출 할 수 없습니다.

그래서 실행 중에 bash 스크립트에서 변수를 올바르게 설정하기 위해 vcvars를 호출 할 수있는 방법이 있습니까?

+0

유일한 방법은 변수를 설정하는 코드가 포함 된 새로운 .sh 파일을 생성하는 것입니다. 이것은 이것이 [여기] (http://cr.openjdk.java.net/~erikj/build-infra5/webrev.01/common/bin/extractvcvars.sh.html)에서 수행되는 방법입니다. cygwin 용으로 작성되었지만 약간의 사소한 변경 사항이있는 msys에서도 사용할 수있는 것 같습니다. –

답변

1

배치 스크립트에서 "call"명령을 사용하면됩니다. 당신은이 "전화"사용하지 않는 경우 스크립트가 VCVARS32.BAT 종료 후 종료하고 다른 명령을 실행하지 않습니다

call "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\vcvars32.bat" 
echo DevEnvDir set to: %DevEnvDir% 

: 그래서 같은 것을 볼 수 있었다.

+0

아니요, bash에서는 작동하지 않습니다. 방금 vcvars에서 설정 한 환경 변수를 bash에 복제했습니다. – martjno

관련 문제