Visual Studio 를 사용하의'cl 에서'정상적인 명령 라인
-
01-07-2019 - |
문제
Visual Studio2003 년 및 2005 년(아마도 2008 년을 위한 모든 나도 알아요)이 필요 명령 라인에 사용자에서 실행하는'Visual Studio 명령 프롬프트'.시작할 때가 이 명령 프롬프트를 설정하는 다양한 환경 변수를 하는 C++컴파일러,cl,사용하는 컴파일하는 경우.
이것은 항상 바람직합니다.는 경우,예를 들어,내가 실행하고 싶'cl'내에서 개미,고 싶지 않을 실행하는 개미에서'Visual Studio 명령 프롬프트'.실행 vcvars32.bat 지 않을 옵션으로 환경 설정에 의해 vcvars32.bat 것을 잃은 시간에 의해 cl 실행되었는(실행하는 경우 내에서 Ant).
이 있는 쉬운 방법을 실행 cl 를 실행할 필요 없이 내부에서는 Visual Studio 명령 프롬프트?
해결책
컴파일러에서 이용할 수 있는 명령 라인(또는 메이크)처럼 다른 컴파일러입니다.주요 것들을 돌볼 필요가 있을 포함하고 LIB 환경 변수,경로입니다.실행하는 경우터 cmd.exe 실행할 수 있습니다 그냥다.박쥐는 환경 설정:
C:\Program Files\Microsoft Visual Studio9.0\VC\vcvarsall.bat
하려는 경우에는 사용하는 컴파일러에서 makefile,Cygwin,MinGW,또는 당신은 필요한 환경 변수를 설정합니다.가정 컴파일러가 설치되는 기본 위치에서,이 작업해야 합 Visual Studio2008 컴파일러와 최신 Windows SDK:
를 추가하는 경로:
- C:\Program Files\Microsoft Sdk\Windows\v6.1\Bin
- C:\Program Files\Microsoft Visual Studio9.0\VC\Bin
- C:\Program Files\Microsoft Visual Studio9.0\Common7\IDE
추가를 포함한다:
- C:\Program Files\Microsoft Sdk\Windows\v6.1\Include
- C:\Program Files\Microsoft Visual Studio9.0\VC\include
- C:\Program Files\Microsoft Visual Studio9.0\VC\atlmfc\include
추가 LIB:
- C:\Program Files\Microsoft Sdk\Windows\v6.1\Lib
- C:\Program Files\Microsoft Visual Studio9.0\VC\lib
이들은 최소한,하지만 충분해야에 대한 기본적인 것들입니다.연구 vcvarsall.bat 스크립트를 더보기를 설정할 수 있습니다.
다른 팁
당신의 자신을 만들 배치 파일(말 clenv.bat),그리고 전화하는 대신 cl:
@echo off
:: Load compilation environment
call "C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat"
:: Invoke compiler with any options passed to this batch file
"C:\Program Files\Microsoft Visual Studio 9.0\VC\bin\cl.exe" %*
clenv.bat 할 수 있습 호출처럼 cl.exe 다는 것을 제외하고 첫 번째로드 필요한 환경 변수를 처음이다.
당신은 단순히 배치 파일을 실행하는 변수를 설정하다.에 VS08 그것은에 있:-
C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat
무엇 vcvars32 또는 vsvars32 배치 파일은행되는 것이 아닙니다.그들은 단순히 설정하는 PATH,INCLUDE,LIB 마다 환경변수를 현명한 기본값은 특정 컴파일러 버전입니다.
당신이해야 할 모든 당신은 확인 하는 그 일을 제대로 설정한 Ant 또는 makefile(중 하나를 호출하기 전에 그들 내에서 또는 그들).
를 포함하고 LIB/니다 대안들을 설정 항목에서 환경변수들에게 이러한 설정하는 명령줄로 명시적인 매개 변수입니다.
이 vcvarsall.bat 배치 파일에 의해 실행되는 Visual Studio 명령 프롬프트가 단순히 노력하고 유지하는 시스템 환경 변수 및 경로에 좋고 깨끗한(그리고 중요한 버전이 여러 개 있는 경우 Visual Studio).
당신은 행복한 제한 설정을 하나의 버전하고 긴 경로를 설정의 환경 변수,전송 이러한 설정(수동)에는 시스템 환경 변수(내 컴퓨터|속성---또는 Win-일시 중지/휴).
나는 추천에 대한 이지만요!
트릭은 항상 사용하여 올바른 vcvars 배치 파일입니다.이 있는 경우 단지 하나의 버전른 설치되는 더 큰 문제입니다.만약 당신이 다루는 여러 버전을 나처럼,그것은 매우 쉽게 실행 MSVC++14 에 구축하는 콘솔에 설치되었 MSVC++15vcvars 파일입니다.수도 있습 또는 작동하지 않을 수 있습니다,하지만 당신이 무엇을 얻는 것이 무엇이 다른 것 건설 내에서 대체 합.
우리가 처리하는 문제에 terp 을 파생해 적절한 vcvars 파일에서 선택한 컴파일러와 항상 환경을 설정하기 위해 내부적으로는 도구 호출을 기반으로 합니다.이 방법은,당신은 항상 오른쪽 vcvars 을 위해 파일을 컴파일러를 사용.
그냥 되:내가 추천하는 노력에 대한 중복 수동으로 무엇 vcvars 파일 않습니다.당신은 당신이 무언가를 놓치 또는 그것은 바로 충분히는 것처럼 보이는 작동하는 동안 실제로 무언가를 약간씩 다른 것을 원했다.
내 버전의 열 visual studio 명령 라인에 대한 Visual Studio 명령 프롬프트에서 visual studio-2010.기 위해 내부적으로 사용되는 라이브러리 구축/프로젝트 및 몇 가지 추가 단계를 수행과 그 결과 DLL 파일이 있습니다.
이러한 복사본을 줄을 Compile and execute other steps.cmd
파일 또는 유사하다.
@echo off
REM Load Visual Studio's build tools
call "%ProgramFiles(x86)%\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86
REM Choose what you want to do, 1 or 2 by (un)commenting
REM 1. Add your cl.exe (or msbuild.exe or other) commands here
REM msbuild.exe MyProject.csproj
REM cl.exe
REM custom-step.exe %*
REM pause
REM 2. Open a normal interactive system command shell with all variables loaded
%comspec% /k
이 버전에서는 스크립트의,나는"편에서"대 명령행 모드습니다.댓글을 REM %comspec% /k
만 스크립트를 사용한 비대화형 목적입니다.