문제

방금 새로운 쿼드 코어 컴퓨터를 받았는데 NMake가 1 프로세스 만 사용하고 있음을 알았습니다.

4 개의 프로세스를 시작하기 위해 스위치 -J4를 사용한 Make를 사용했습니다. NMake 동등한 것은 무엇입니까?

편집] 아래 정보를 기반으로 QMake 프로젝트 파일에 명령을 추가 할 수있었습니다.

qmake_cxxflags += /mp

그것은 나를 위해 효과적으로 그것을했다. 많은 감사합니다.

도움이 되었습니까?

해결책

에 따르면 MSDN, 그러한 옵션은 없습니다 nmake.

그러나 컴파일러가 /MP VC ++ 명령 줄 컴파일러와 동시에 여러 파일을 전달하는 옵션 :

> cl /MP a.cpp b.cpp c.cpp

그러나 대부분의 makefiles는 이와 같이 컴파일러를 호출하지 않습니다. 일반적으로 각 개별 소스 파일에 대해 컴파일러를 분리하여 /MP 유용한 일을하는 옵션.

다른 팁

또 다른 일반적이고 QT 관련이없는 방법 nmake 모든 코어를 사용하려면 환경 변수를 설정하는 것입니다. CL 에게 /MP:

set CL=/MP
nmake

모든 CPU 코어를 사용합니다.

QT에는이를위한 도구가 있습니다http://qt.gitorious.org/qt-labs/jom

그만큼 CMAKE 2.8.1 RC1,이 글을 쓸 때와 관련하여 시도해 볼 준비가되어 있습니다. nmake makefiles Jom 또한 JOM의 특정 설정으로 NMAKE를 생성합니다.이 설정은 NMake의 교체가 줄어 듭니다. 따라서 Nmake를 사용하여 다중 처리 가능 건물을 제공합니다.

Incredibuild Nmake를 실행할 수 있다고 주장하면 여러 코어 / 여러 시스템에서 빌드가 빌드됩니다. 나는 그것에 대한 경험이 없습니다.

빠른 인터넷 검색은 다음과 같습니다. http://msdn.microsoft.com/en-us/library/bb385193.aspx

이것은 일반적인 makefiles에서는 작동하지 않지만 Visual Studio 2005에는 동시에 .vcproj 파일을 동시에 빌드 할 수있는 설정이 있습니다 (하나는 다른 하나에 의존하지 않음). 도구 -> 옵션 -> 프로젝트 및 솔루션 -> 빌드 및 실행 -> 엑스 병렬 프로젝트 빌드의 최대 수.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top