Nmake에 모든 코어를 어떻게 사용합니까?
문제
방금 새로운 쿼드 코어 컴퓨터를 받았는데 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 파일을 동시에 빌드 할 수있는 설정이 있습니다 (하나는 다른 하나에 의존하지 않음). 도구 -> 옵션 -> 프로젝트 및 솔루션 -> 빌드 및 실행 -> 엑스 병렬 프로젝트 빌드의 최대 수.