55

我刚买了一台新的四核计算机,发现 nmake 只使用了一个进程。

我曾经使用带有开关 -j4 的 make 来启动 4 个进程。什么是 nmmake 等价物?

[编辑] 根据以下信息,我已经能够将命令添加到我的 qmake 项目文件中:

QMAKE_CXXFLAGS += /MP

这有效地为我做到了。非常感谢。

4

8 回答 8

50

另一种通用的、非 Qt 相关的方式来告诉nmake使用所有内核是将环境变量设置CL/MP

set CL=/MP
nmake

将使用所有 CPU 内核。

于 2014-05-12T21:11:09.090 回答
40

QT 有一个工具:http: //download.qt.io/official_releases/jom/

他们还在 Qt creator 中默认使用它。

于 2009-06-28T17:12:36.177 回答
25

根据MSDN,没有这样的选项nmake.

/MP但是,您可以使用VC++ 命令行编译器的选项并同时传递多个文件,使编译器并行构建多个文件:

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

但是请注意,大多数 Makefile 不会像这样调用编译器 - 它们通常为每个单独的源文件单独调用编译器,这会阻止该/MP选项做任何有用的事情。

于 2009-03-02T11:21:42.720 回答
6

Incredibuild声称能够在多核/多台机器上运行 nmake 构建。我没有任何经验。

于 2009-03-03T16:29:33.283 回答
6

CMake 2.8.1 RC1 ,至于写这篇文章的时候,它已经准备好尝试了,它确实为 NMake 带来了新的生成器,称为NMake Makefiles JOM,它生成具有特定设置的 jom 的 NMake,这是替换 NMake 的下降。因此,它使用 NMake 提供了支持多处理的构建。

于 2010-02-13T02:05:39.027 回答
3

快速谷歌搜索给出:http: //msdn.microsoft.com/en-us/library/bb385193.aspx

于 2009-03-02T11:21:33.440 回答
2

这不适用于普通的 makefile,但 Visual Studio 2005 中有一个设置允许您同时构建多个 .vcproj 文件(前提是一个不依赖于另一个)。工具 -> 选项 -> 项目和解决方案 -> 构建和运行 -> X最大并行项目构建数。

于 2009-03-05T18:23:26.583 回答
-1

不太一样,但如果你使用cmake,你可以导出解决方案(例如使用生成器“Visual Studio 14 2015”而不是“NMake Makefiles”)。

在这种情况下,可以使用msbuild允许您使用/maxcpucount命令行开关并行化构建过程的工具构建导出的解决方案。

于 2020-09-04T18:32:14.263 回答