2011-02-23 5 views
2

file.obj을 명령 줄에서 컴파일하려고합니다. IDE 내에서 file.cpp이 보이면 Build -> Compile을 클릭하거나 Ctrl-F7을 누르면 file.obj 객체 만 컴파일됩니다. 명령 줄에서이 작업을 수행하고 싶습니다. 이상적으로, 뭔가 유사로 :Visual Studio 프로젝트의 특정 obj를 명령 줄에서 컴파일 하시겠습니까?

vcbuild project.vcproj Debug file.obj  // not a valid command 

나는 vcbuild, msbuilddevenv의 설명서 살펴 보았다. 나는 또한 세 가지 모두를 실험했지만, 나는 이것을 할 수있는 방법을 찾을 수 없다. 전체 프로젝트를 구축 할 수있는 방법을 찾을 수는 있지만 원하는 것은 아닙니다. 나는 특정 소스 파일을 만들고 싶다. /pass1은 vcbuild에 (링크가 아닌) 컴파일 만하도록 지시하지만 전체 프로젝트를 컴파일합니다.

나는 또한 cl을 사용하여 살펴 보았습니다.하지만 이것은 컴파일러 일뿐입니다. 그것을 사용하기 위해서는 환경을 올바르게 설정하기 위해 필요한 모든 매개 변수를 알아야합니다. msbuild/vcbuild를 사용하면 자동으로 처리됩니다. 메이크와

, 난 항상 make file.obj을 할 수 있고, 제대로, DIRS을 포함, 이에 대한 등

모든 옵션을 경로를 설정합니다? .vcproj 파일에서 적절한 설정을 추출하고이를 cl으로 전달하는 자동화 된 방법이 있습니까?

+0

이나요 이거 작동시켜? –

+0

@RobotMess 명령 행에서 수행 할 수 없습니다. 그러나 Visual Studio 매크로 내에서 수행 할 수 있습니다. 그래서, 나의 필요에 따라 필자는 필자가 필요로하는 매크로를 만들 수 있었다.obj는 성공/실패를 기반으로 조치를 취했으며 다른 것들도 계속 수행했습니다. 매크로를 찾아 대답으로 게시 할 수 있는지 확인합니다. – Tim

답변

0

cl을 사용하면 명령 줄에서 단일 파일을 컴파일하는 방법입니다. 당신이 말했듯이, 당신이 사용하고자하는 옵션을 정확하게 지정할 것을 요구하거나 허용 할 수 있습니다. 모든 옵션!

실제로 그렇게하고 싶지 않다면 IDE를 사용하여 자동으로 수행해보십시오. 왜 그렇게 어려운 일을하는 거지?

+0

일반적인 개발을 위해 IDE를 사용합니다. 그러나 자동화 된 유틸리티를 작성하려고 시도하고 있으며 개별 소스 파일을 반복적으로 컴파일해야합니다. – Tim

+0

@Tim : 소스 파일을 마우스 오른쪽 버튼으로 클릭하고 "컴파일"을 선택하여 IDE에서 (VS로 가정) _that_ 할 수도 있습니다. 그렇지 않으면 cl.exe와 아마도 작은 (NMake) 파일을 만들 수있는 방법입니다 ... – 0xC0000022L

+0

Automated. 마우스 오른쪽 버튼을 클릭하는 것은 사용자 작업입니다. 이 작업을 수행하는 자동화 된 방법이 필요합니다. – Tim

0

그냥 프로젝트를 컴파일 비주얼 스튜디오 명령 줄을 실행하고 msbuild를를 호출 할 경우.

예 :

MSBuild.exe MyProj.proj /property:Configuration=Debug 

이 현재 디렉토리에서의 Myproj 프로젝트를 컴파일합니다. msbuild를 http://msdn.microsoft.com/en-us/library/dd393574.aspx

또는 단일 파일을 작성해야하는 경우 위에서 언급 한대로 CL을 사용할 수 있습니다에

대한 추가 정보를 원하시면. 프로젝트의 속성에 들어가면 Visual Studio에서 전달한 모든 매개 변수를 cl으로 볼 수 있습니다. 일반적으로 아래 :

구성 속성 -> 명령 줄

와 연결하기위한 - ++를 /을>을 C C :

구성 속성 -> 링커 -> 당신은에 관리 명령 줄

+0

은 내가 필요로하는 것이 아닌 전체 프로젝트를 만듭니다. – Tim

+0

좋아, 수정 된 답변, 당신은 모든 필요한 옵션을이 방법으로 복사 할 수 있어야합니다 – Ha11owed

+0

'cl'을 사용하려면, 나는 그것에 전달할 수있는 모든 권리 매개 변수를 알아야 할 것입니다. 예, Visual Studio에서 볼 수는 있지만, 이는 전적으로 수동이며 모든 파일 (또는 모든 프로젝트)에 대해 수행해야합니다. 나는 자동화 된 방법을 찾고있다. – Tim

관련 문제