我如何利用nmake的所有核心?
我刚拿到一台新的四核电脑,注意到nmake只用了一个进程。
我曾经使用有开关-j4启动4个进程的make。 什么是nmake等值?
基于以下信息,我已经能够添加一个命令到我的qmake项目文件:
QMAKE_CXXFLAGS + = / MP
这对我有效。 非常感谢。
根据MSDN , nmake
没有这个选项。
但是,您可以通过在VC ++命令行编译器中使用/MP
选项并同时传递多个文件,使编译器并行构build多个文件:
> cl /MP a.cpp b.cpp c.cpp
但是请注意,大多数Makefiles不会像这样调用编译器 – 它们通常会为每个单独的源文件单独调用编译器,这将阻止/MP
选项执行任何有用的操作。
告诉nmake
使用所有内核的另一个通用的非Qt相关的方法是将环境variablesCL
设置为/MP
:
set CL=/MP nmake
将使用所有的CPU核心。
CMake 2.8.1 RC1在编写本文时已经准备好尝试,它为NMake带来了新的发电机,这个发电机被称为NMake Makefiles JOM ,它为NMOM提供了特定的设置,这是NMO替代品的下降。 因此,它使用NMake进行多处理能力build设。
Incredibuild声称能够在多个核心/多台机器上运行nmake构build。 我没有任何经验。
快速searchurl为: http : //msdn.microsoft.com/en-us/library/bb385193.aspx
这对于普通的makefile不起作用,但是在Visual Studio 2005中有一个设置,可以让你同时创build多个.vcproj文件(假设一个不依赖另一个)。 工具 – >选项 – >项目和解决scheme – >生成并运行 – > X最大并行项目数量。