2011-03-25 2 views
0

MSBuild.exe를 사용하여 Visual C++ 솔루션을 빌드합니다. 솔루션의 한 프로젝트는 정적 라이브러리 (MyLib.lib라고 부름)로 컴파일되며 다른 많은 프로젝트는 MyLib.lib에 링크되는 작은 도구입니다.MSBuild.exe가 병렬로 프로젝트를 빌드하지 않습니다.

나는 다음과 같이 컴파일 : 으로 MSBuild MySolution.sln/P : 구성 = 릴리스/P : 플랫폼 = "는 Win32"/ maxcpucount : 4

나는 각 프로젝트가 순차적으로 구축이라고 볼 수있다 그러나. 항상 하나의 MSBuild.exe 만 실행됩니다.

뭐가 잘못 되었나요?

: 병렬로 구축 할 수 서로에 의존하지 않는

+0

하나의 프로젝트가 다른 프로젝트에 종속되어있는 경우 병렬로 수행 할 것으로 예상되는 작업은 무엇입니까? –

+0

죄송합니다 - 질문을 수정하여이 내용을 명확하게 처리했습니다. 내 솔루션에는 MyLib.lib에 의존하는 약 15 개의 프로젝트가 있습니다. MyLib.lib가 자체적으로 빌드 된 후에는이 15 개의 프로젝트가 병렬로 빌드되기를 기대합니다. – Warpin

답변

1

만 프로젝트 [편집 나는 비주얼 스튜디오 2008을 사용하고 있습니다]. 분명히 그것은 당신의 경우가 아니며, .lib가 사용 가능할 때까지는 도구를 만들 수 없습니다.

편집 : VS2010을 사용하고 있지 않습니다. VS2008의 경우 vcbuild.exe를 사용해야합니다./M4와 함께 동시 빌드 사용 가능

+0

그래서 MyLib.lib을 빌드하는 솔루션 하나와 다른 프로젝트에 의존하는 다른 솔루션이 필요합니까? – Warpin

+0

그 목표는 무엇입니까? –

+0

두 번째 솔루션의 프로젝트는 종속성이 없습니다 (이미 존재하고 첫 번째 솔루션에서 빌드 된 .lib 파일을 연결하기 만 함). 따라서 병렬로 빌드 할 수 있어야합니다. – Warpin

0

종속성이 있으므로 프로젝트를 하나씩 컴파일해야합니다. 어쨌든 MSBuild가 컴파일을 병렬로 수행하지 않습니다.

관련 문제